- 防抖
- 节流
- 模拟 new 运算符
- 模拟 instanceof
- 模拟 Function.prototype.apply()
- 模拟 Function.prototype.call()
- 模拟 Function.prototype.bind()
- 模拟 Array.prototype.forEach()
- 模拟 Array.prototype.map()
- 模拟 Array.prototype.filter()
- 函数柯里化
- 类数组转数组
- 实现深拷贝
- 继承的实现
- 实现 AJAX
- 多维数组扁平化
- setTimeout 模拟 setInterval
- setInterval 模拟 setTimeout
- sleep
- 数组去重的多种实现方式
- 解析 URL 参数
- 斐波那契数列
- 发布订阅
- 带图带事件的 桌面通知
- 原生 30 行代码实现视频截图
- 基于 URLSearchParams 或 URL 获取 queryString 的值
- 基于 atob 和 btoa 的 base64 编码和解码
- 非正则替换 的 html 代码 encode 和 decode
- 相对地址转换为绝对地址
- 基于 URL 或者 Crypto.getRandomValues 生成 UUID
- 基于 Array.from 的序列生成器
- 基于 sendBeacon 的安全的数据上报
- 数字千分位
- 生成随机字符串 ID
- Promise 顺序执行
- 延时执行 delay
- 进度值映射
- 滑滚动页面到顶部
- 禁止选择和复制
- 禁止图片拖拽
- 浏览器操作相关 browser 工具函数
- 获取 url 参数(第一种)
- 获取 url 参数(第二种)
- 修改 url 中的参数
- 删除 url 中指定的参数
- 获取窗口可视范围的高度
- 获取窗口可视范围宽度
- 获取窗口宽度
- 获取窗口尺寸
- 获取滚动条距顶部高度
- 获取滚动条距左边的高度
- 开启全屏
- 关闭全屏
- 返回当前滚动条位置
- 滚动到指定元素区域
- 平滑滚动到页面顶部
- http 跳转 https
- 检查页面底部是否可见
- 打开一个窗口
- 自适应页面(rem)
- 日期工具 date 工具函数
- cookie 存贮
- cookie 获取
- cookie 删除
- 更多的工具函数
- 数字千分位
- 截取字符串并加身略号
- 获取文件 base64 编码
- B 转换到 KB,MB,GB 并保留两位小数
- base64 转 file
- base64 转 blob
- blob 转 file
- file 转 base64
- 递归生成树形结构
- 遍历树节点
- 追溯父节点
- 寻找所有子节点
- 根据 pid 生成树形结构
- 查询数组中是否存在某个元素并返回元素第一次出现的下标
- Windows 根据详细版本号判断当前系统名称
- 判断手机是 Andoird 还是 IOS
- 函数防抖
- 函数节流
- 判断数据类型
- 生成指定范围随机数
- 数组乱序
- 数组交集
- 数组中某元素出现的次数
- 加法函数(精度丢失问题)
- 减法函数(精度丢失问题)
- 除法函数(精度丢失问题)
- 乘法函数(精度丢失问题)
- 递归优化(尾递归)
- 生成随机整数
- 去除空格
- 大小写转换
- 随机 16 进制颜色 hexColor
- 转义 html(防 XSS 攻击)
- 检测移动/PC 设备
- 隐藏所有指定标签
- 返回指定元素的生效样式
- 检查是否包含子元素
- 数字超过规定大小加上加号 +,如数字超过 99 显示 99+
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
实现 AJAX
步骤:
- 创建 XMLHttpRequest 对象
- 打开链接 (指定请求类型,需要请求数据在服务器的地址,是否异步 i 请求)
- 向服务器发送请求(get 类型直接发送请求,post 类型需要设置请求头)
- 接收服务器的响应数据(需根据 XMLHttpRequest 的 readyState 属性判定调用哪个回调函数)
function ajax(url, method, data=null) {
const xhr = XMLHttpRequest() // 咱们这里就不管 IE 低版本了
// open() 方法,它接受 3 个参数:要发送的请求的类型,请求的 url 和是否异步发送请求的布尔值。
xhr.open(method, url ,false) // 开启一个请求,当前还未发送
xhr.onreadyStatechange = function() {
if(xhr.readyState == 4) {
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304){
alert(xhr.responseText);
} else {
console.log("Request was unsuccessful: " + xhr.status);
}
}
}
if(method === 'post') {
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
}
xhr.send(data) // get 请求,data 应为 null,参数拼接在 URL 上
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论