浏览器对象模型,提供浏览器窗口进行交互的对象,其核心是window
把浏览器当做一个对象来看待
BOM的顶级对象是window
BOM学习的是浏览器窗口交互的对象
BOM 是浏览器厂商在各自浏览器上定义的,兼容性太差
window是全局对象,定义在局域作用域中的
console.dir(window)
window 常见的事件
窗口加载事件
window.onload=function(){
}
window.addEventListener(load,function(){
})
window.addEventListener(DOMContentLoaded,function(){
}) IE9及以上版本支持不包含图片 flash css 等就可以执行
DOMContentLoaded >load
调整窗口触发事件,窗口像素变化发生触发
window.addEventListener(resize,function(){
window.innerWidth 屏幕的宽度
})
定时器
setTimeout(调用函数,延时的毫秒数)
也称回调函数
window.clearTimeout(timeID)为定时器起一个名字
setInterval(回调函数,间隔的毫秒数)
this 指向问题,一般情况下this的最终指向是那个调用它的对象
全局作用域或者普通函数中的this指向全局对象window (注意定时器的this指向window)
js单线程 同步和异步
location对象
URL统一资源定位符
协议 host port path query
substr(1)
location.assign(www.baidu.com)可以实现后退功能
location.replace 不能实现后退功能
location.reload(true)重新刷新一下页面
history.forward(),下一页
history.back() 后退
history.go(1)前进
history.go(-1)后退