BOM-浏览器对象模型,以 window
对象为基础 - window
对象也被复用为 ECMAScript
的 Global
属性。
- 通过
location
对象可以以编程方式 操纵浏览器的导航系统。通过设置这个对象上的属性,可以改变浏览器 URL 中的某一部分或全部。
详细请看 第一章小结
使用setTimeout模拟setInterval
function fakeSetInterval(callback, delay) {
setTimeout(() => {
callback();
fakeSetInterval(callback, delay)
}, delay)
}
fakeSetInterval(() => console.log(1), 1000);
setInterval
:不关心执行时长、不关心什么时候执行,在指定时间后,就将任务推入执行队列
差别:
// fakeSetInterval:在函数执行完成之后,一秒再执行下一个函数
函数A(执行时间)-->(1s)-->函数B(执行时间)-->(1S)-->函数C(执行时间)-->(1S)
// setInterval:函数执行的间隔为1秒钟,可以这样认为
(函数A(执行时间)+(间隔时间))=(1S)-->(函数B(执行时间)+(间隔时间))=(1S)-->(函数C(执行时间)+(间隔时间))=(1S)