BOM窗口加载事件 定时器 JS执行机制 location navigator history 对象

BOM 的构成

window 对象是浏览器的顶级对象,具有双重角色

1,它是 JS 访问浏览器窗口的一个接口

2,它是一个全局对象,定义在全局作用域中的变量、函数都会变成 window 对象的属性和方法

window 对象常见事件

窗口加载事件

// 当文档内容全部加载完毕会触发该事件(图像,脚本文件,css文件等);
window.onload = function () {}
window.addEventListener('load', function () {});
// 当DOM元素加载完毕就执行,不考虑图片 flash 等元素
window.addEventListener('DOMContentLoaded', function () {});

调整窗口大小

// 当window窗口变化时触发
window.onresize = function () {}
window.addEventListener('resize', function () {});

定时器

setTimeout() 定时器

// 该定时器在定时器到期后执行调用函数, 毫秒如果省略默认是0,到时间就执行,只执行一次
window.setTimeout(调用函数,[延迟的毫秒数]);
// 这个函数也称为毁掉函数 callback
var timeID = setTimeout(fn, 2000);

停止 setTimeout() 定时器

window.clearTimeout(timeID);

setInterval() 定时器

// 该定时器在定时器到期后执行函数,毫秒默认是0,到时间就执行,一直循环
window.setInterval(调用函数, [延迟的毫秒数]);
var timeID = setInterval(function () {}, 2000);

停止 clearInterval() 定时器

window.clearInterval(intervalID);

JS 执行机制

JavaScript语言的一大特点就是单线程,也就是说同一时间只能做一件事,为了解决这个问题,利用CPU的计算能力出现了同步和异步

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

异步:在做这个任务的同时,还能执行其他的任务

JS把任务分为同步任务和异步任务;

1,先执行执行栈中的同步任务;

2,异步任务(回调函数)放到任务队列中;

3,一旦执行栈中的所有同步任务执行完毕,系统就会按次序读取任务队列中的异步任务,于是被读取的异步任务结束等待状态,进入执行栈,开始执行;

由于主线程不断的重复获得任务,执行任务,再获取任务,在执行,所以这种机制被称为事件循环(event loop)

location 对象

window 对象给我们提供了一个location属性用于获取或这只窗口的URL,并且解析URL,因为这个属性返回的是一个对象,所以也叫location对象

location对象属性方法 返回值
location.href 获取或设置整个URL
location.host 返回主机域名
location.port 返回端口号,如果未写返回空字符串
location.search 返回参数
location.pathname 返回路径
location.hash 返回片段,#后面内容 常见于锚点链接
location.assign() 跟href一样可以跳转页面也称为重定向
location.replace() 替换当前页面,因为不记录浏览记录不能回退
location.reload() 重新加载页面,相当于刷新页面或者F5 如果参数为true强制刷新页面
location.assign('http://www.baidu.com/');
location.replace('http://www.baidu.com/');
location.reload(true);

history 对象

与浏览器历史记录进行交互,该对象包含用户在浏览器窗口中访问过得URL

history对象 作用
history.back() 后退与浏览器左上角功能一致
history.forward() 前进与浏览器左上角功能一致
history.go() 前进后退功能,1前进一个页面,-1后退一个页面,递增

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

window.navigator.userAgent;
posted @ 2020-03-30 23:47  计算机相关人员  阅读(155)  评论(0编辑  收藏  举报