- 浏览器对象模型(Browser Object Model):提供了独立于内容而与浏览器窗口进行交互的对象。
- BOM缺乏标准。
- 获取得到的BOM元素是对象。
一、window对象
- 是JS访问浏览器窗口的一个接口。
- 是全局对象。
二、window对象常见事件
- 窗口加载事件load DOMContentLoaded
(1)传统方式:window.onload=function(){};
只能执行一次!
(2)方法监听注册:
window.addEventLister('load',function(){});
等页面内容全部加载完毕,包含页面dom元素 图片 flash css 等等。当图片很多时,使得渲染效果不好,用户体验不好。
window.addEventLister('DOMContentLoaded',function(){})
DOMContentLoaded 是DOM 加载完毕,不包含图片 falsh css 等就可以执行 加载速度比 load更快一些 - 调整窗口大小事件resize
window.addEventLister('resize',function(){});
可以用来做响应式布局,当window.innerwidth
小于多少时,这个板块就消失。
三、定时器
setTimeout() | setInterval() |
---|---|
setTimeout(调用函数,[延迟的毫秒数]); | |
调用函数
| |
给定时器返回标识符来区分不同的定时器 | |
清除定时器
| |
|
|
四、同步与异步
- JS是单线程
- JS中顺序执行,但是有些代码运行时间长。为了解决这个问题,同时充分利用多核CPU的计算能力,H5提出了web worker 标准,允许JS创建多个线程。
-
同步:前一个任务结束后再执行下一个任务。
-
异步:任务同时进行。
-
同步任务:在主线程上执行。
-
异步任务:JS的异步是通过回调函数实现的,主要分为:
(1)普通事件:click resize (2)资源加载:load error (3)定时器:setTiomeout() setInterval()
五、location对象
- 是window对象提供的属性,用于获取或者设置窗体的URL,还可以解析URL。
- 因为会返回对象,所以称为location对象。
- 统一资源定位器URL Uniform Resource Locator
- location属性
- 如何获取url参数
/ 1.先去掉? substr('起始的位置',截取几个字符);
var params = location.search.substr(1);
// 2. 利用=把字符串分割为数组 split('=');
var arr = params.split('=');
console.log(arr); // ["uname", "ANDY"]
- location方法
六、navigator对象
- 包含浏览器的信息。
navigator.userAgent;
返回由客户机发送服务器的user-agent头部的值。
七、history对象
- 与浏览器历史记录进行交互。
该对象包含用户在浏览器窗口中访问过的URL。