1 怎么实现 Ajax 封装
2 数组去重的所有方式
1 ES6 的方式: let set = Array.from(new Set([1, 2, 2, 3]))
2 forEach 实现数组去重:
let arr1 = [1, 2, 1, 3, 1];
let arr2 = [];
arr1.forEach(function (self, index, arr) {
arr.indexOf(self) === index ? arr2.push(self) : null;
});
console.log(arr2); //[1,2,3]
3
3
4 循环
for (var i = 0; i < 5; i++) {
setTimeout(function() {
console.log(i)
}, i*1000)
}
// 1 先执行同步任务, 创建了5个定时器,
// 2 开始执行这 5个异步任务
// 3 他们的执行时间分别是 0s, 1s, 2s, 3s, 4s
// 4 因为函数里面的 i, 在执行的时候才会访问这个变量, 而此时同步执行完毕后的 i已经等于 5了
// 5 所以显示出了, 每隔一秒打印一次的错觉