复习-BOM

169 阅读3分钟

1 BOM简述

BOM(Browser Object Model)浏览器对象模型,提供了独立于内容而与浏览器窗口进行交互的对象,BOM包括DOM。

window对象是浏览器的顶级对象:

1、是JS访问浏览器窗口的一个接口。 2、是全局对象,定义在全局作用域中的变量、函数都会变成window对象的属性和方法。在调用的时候可以省略window。

2 window 对象的常见事件

2.1 窗口加载事件

window.onload = function(){}//只能写一个
或者
window.addEventListener('load',function(){})//多次使用

窗口加载事件,当文档内容完全加载完成会触发该事件

document.addEventListener('DOMContentLoaded',function(){});

事件触发时,仅当DOM加载完成(不包括样式表、图片、flash)等。

2.2 调整窗口大小事件

window.onresize = function () {};
window.addEventListener('resize', function () {});

窗口大小发生变化就会触发该事件,常用window.innerWidth得到屏幕宽度。

3 定时器

3.1 setTimeout()定时器

window.setTimeout(调用函数, 延迟的毫秒数);

毫秒数省略的话默认为0,调用函数可以直接写函数、函数名等,

 window.clearTimeout(timeout ID)  //停止定时

3.2 setInterval()定时器

window.setInterval(调用函数, 延迟的毫秒数)

每隔一定时间重复调用一个函数

window.clearInterval(interval ID)

取消通过setInterval()建立的定时器

3.3 this指向问题

函数执行的时候才能确定this到底指向谁,一般情况下this指向的是调用它的对象。 1、全局作用域或者普通函数中的this指向全局对象window 2、方法调用中指向调用者 3、构造函数中this指向构造函数的实例对象

4 JS执行队列

JS语言是单线程,同一时间只能做一件事

4.1 同步和异步

同步:前一个任务结束再进行后一个任务,程序的执行顺序与任务的排列顺序一致

异步:做一件事需要花费很长时间是,在做这件事的同时去做别的事情。异步一般包括事件、加载、定时器等。

4.2 JS执行机制

1、先执行主线执行栈的同步任务 2、异步任务放在任务队列中 3、主线执行栈中的任务执行完毕,系统会一次读取任务队列中的异步任务,异步任务结束等待状态,放入执行栈中执行。

5 location对象

通过location对象获取或设置URL,并可以解析URL。

5.1常见location对象属性

 location.href               //获取或设置URL
 location.host               //返回域名
 location.port               //返回端口号
 location.search             //返回参数
 location.pathname           //返回路径
 location.hash               //返回片段

5.2 常见location对象方法

location.assign()            //跳转页面
location.replace()           //替换当前页面,不保留历史记录
location.reload()            //重新加载页面,如果参数为true,强制刷新

6 navigator对象

navigator对象包含有关浏览器的信息,最常用的是userAgent,可以返回由客户机发送服务器的user-agent头部的值。

7 history对象

history对象与浏览器历史记录进行交互,包含用户访问过的url

history.back();          //后退功能
history.forward();       //前进功能
history.go();            //参数是1前进一个页面,参数是-1后退一个