防抖的2种方式:
var num = 1;
let times;
// 先执行
content.onmousemove = function (){
let obj = times;
clearTimeout(times);
times = setTimeout(()=>{
times = null;
},1000)
if(!obj){
console.log(typeof !obj);
content.innerHTML = num++;
}
};
// 后执行
content.onmousemove = function (){
clearTimeout(times);
times = setTimeout(()=>{
content.innerHTML = num++;
},1000)
};
请写出节流的2种方式:
// 延时器
var time;
content.onmousemove = function(){
if(!time){
time = setTimeout(()=>{
time = null;
content.innerHTML = num++;
},1000)
}
// 时间戳
var content = document.getElementById("content");
var num = 1;
var timeNew = 0;
content.onmousemove = function(){
var timeOld = Date.now();
if(timeOld-timeNew>1000){
timeNew = timeOld;
content.innerHTML = num++;
}
}
箭头函数在使用时应该注意什么:
用了箭头函数,this就不是指向window,而是父级(指向是可变的) |
不能够使用arguments对象3不能用作构造函数,这就是说不能够使用new命令,否则会抛出一个错误 |
不能用作构造函数,这就是说不能够使用new命令,否则会抛出一个错误
|
不可以使用yield命令,因此箭头函数不能用作 Generator 函数 |
没有{}时不能换行 |