this 指向
const value = 'window';
const obj = { value: 'obj', show () { console.log(this.value) } };
setTimeout(obj.show, 1000); // -> 'window'
setTImeout(function () { obj.show(); }, 1000); // -> 'obj'
使用 setInterval 进行轮询
let hash = window.location.hash;
let hashWatcher = setInterval(function () {
if (window.location.hash !== hash) {
updatePage();
}
}, 1000);
使用 setTImeout 进行进行轮询
setTimeout 可以保证代码每次执行的间隔相同。
setTimeout( function f() {
// doSomething
setTimeout(f, 2000);
}, 2000);
debounce (防抖)函数
$('textarea').on('keydown', debounce(ajaxAction, 2500));
function debounce(fn, delay) {
var timer = null;
return function () {
clearTImeout(timer);
timer = setTImeout(fn, delay);
}
}
参考
JavaScript 标准参考教程
this 指向
使用 setInterval 进行轮询
使用 setTImeout 进行进行轮询
setTimeout 可以保证代码每次执行的间隔相同。
debounce (防抖)函数
参考
JavaScript 标准参考教程