BOM(Browser Object Model,浏览器对象模型)是 JS 与 浏览器窗口交互的接口。
全局变量会成为 window 对象的属性
内置函数普遍是window的方法(如 setInterval()
、alert()
等内置函数,普遍是 window 的方法。)
window对象常见事件
窗口加载事件
window.onload=function(){}
或者
window.addEventListener("load",function(){});
调整窗口大小事件
window.onresize=function(){}
window.addEventListener("resize",function(){});
窗口尺寸相关属性
获得不包含滚动条的窗口宽度,要用:
document.documentElement.clientWidth
浏览器的外宽指的是浏览器窗口边框的宽度。
当浏览器窗口全屏时:浏览器的外宽 == 浏览器内宽(包含滚动条)
当浏览器窗口不全屏时:浏览器的外宽 > 浏览器内宽(包含滚动条)
定时器和延时器
定时器
setInterval()
函数可以重复调用一个函数,在每次调用之间有固定的时间间隔。
setInterval()
函数可以接收第 3、4、…… 个参数,它们将按顺序传入函数。
具名函数也可以传入 setInterval
。
清除定时器
clearInterval()
函数可以清除一个定时器。
延时器
setTimeout()
函数可以设置一个延时器,当指定时间到了之后,会执行函数一次,不再重复执行。
清除延时器
clearTimeout()
函数可以清除延时器
初步认识异步语句
setInterval()
和 setTimeout()
是两个异步语句。
异步(asynchronous):不会阻塞 CPU 继续执行其他语句,当异步完成时,会执行 “回调函数”(callback)。