BOM是浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,核心对象是window;BOM学习的是浏览器窗口交互的一些对象
window.onload = function(){}新的方法:window.addEventListener("load",function(){})
如果页面中图片比较多,建议用DOMCtentLoaded事件,这个事件等DOM加载完毕,不等图片css就可以执行
调整窗口大小:window.onresize当窗口大小发生变化时就会触发这个事件
window.innerWidth获得当前尺寸的宽度;
window.setTimeout(调用函数,【延迟的毫秒数】)
回调函数callback
停止定时器:clearTimeout()
setInterval(回调函数,【间隔的毫秒数】);这个方法重复调用一个函数,每隔这个时间,就去调用一次回调函数
停止定时器操作:clearIterval()
this指向问题:1.在全局作用域或普通函数中this指向全局对象window()注意定时器里面的this指向window
2.方法调用中谁调用This指向谁
3.构造函数中This指向构造函数的实例
js是单线程的,h5提出了Web Worker标准,允许js脚本创建多个线程,于是有了同步和异步
同步任务都在主线程上执行,形成一个执行栈
js异步任务是通过回调函数实现的。一般而言:异步任务有以下三种类型:1.普通事件:如click,resize;2.资源加载:load,error;3.定时器:setInterval,setTimeout异步任务相关回调函数添加到任务队列中
异步进程处理:如果还没有点击先放入异步进程处理,等点击了再调用
由于主线程不断的重复获得任务,执行任务,再获取任务,再执行,所以这种机制被称为事件循环
location对象给我们提供了一个location属性用于获取或设置窗体的URL统一资源定位符,并且可以用于解析URL。
location.href获取或者设置整个URL;location.search返回参数
知晓浏览器用了哪个浏览器,手机还是电脑
back()后退功能;forward()前进界面;go(参数)