窗口加载事件
- load加载事件
i. 传统注册:window.onload = function () { }
ii. 监听方法:window.addEventListener(“load”, function (){ }) - DOM加载完成事件DOMContentLoaded
i. 不包括样式表、图片、flash
ii. 注册方法:document.addEventListener(“DOMContentLoaded”,function (){ })
调整窗口大小事件
- 传统注册:window.οnresize= function () { }
- 监听方法:window.addEventListener(“resize”, function (){ })
- 应用:响应式布局window.innerWidth;window.innerHeight
定时器
- setTimeout
i. 只调用一次,window可省略
ii. var timeoutID = window.setTimeout(调用函数/函数名/“函数名()”,[延时的毫秒数])
iii. 回调函数:callback
iv. 停止计时器:clearTimeout(timeoutID) - setInterval
i. 反复调用,window可省略
ii. var timeoutID = null; window.setInterval(调用函数,[延时的毫秒数])
iii. 停止计时器:clearInterval(timeoutID) - this问题
i. 全局作用域或普通函数:this指向全局对象window
ii. 方法调用:this指向方法的调用者
iii. 构造函数:this指向实例对象
js执行机制
- js是单线程,所有的任务需要排队等待
- 同步和异步:H5允许js脚本创建多个线程
i. 同步任务:主线程执行栈
ii. 异步任务:任务队列;类型:普通事件、资源加载、定时器
iii. 事件循环event loop:主线程不断重复获取任务、执行任务、再获取任务、再执行的机制
location对象
- 定义:window对象提供的用于获取或设置窗体的url的属性,且可以用来解析url
- 由于该属性返回的是一个对象,故也成为location对象
- 统一资源定位符(Uniform Resource Locator, ulr):互联网上标准资源地址,地址唯一且包含的信息指出文件的位置及浏览器处理方式
- 对象属性
- 对象方法
navigator对象
包含浏览器相关信息,如判断访问终端
history对象
浏览器历史记录交互