窗口加载事件
传统注册方式
window.onload = function(){ } \\只允许一个,如有多个,以最后的为准
IE9 事件监听写法 window.addEventListener("load",function(){})
\\load 等页面内容全部加载完毕,包括页面Dom元素,图片,flash等等
document.addEventListener('DOMContentLoaded', function() {})
//仅当DOM加载完成,不包括样式表,图片,flash等等 加载速度快
调整游览器窗口大小事件 resize
显示当前浏览器屏幕宽度 window.innerWidth
定时器
语法 window.setTimeout(调用函数,延时时间); // window.setInterval(调用函数,延时时间)
//window 可以省略
延时时间单位是毫秒,但是可以省略,如果省略,立即执行
调用函数可以直接写函数,也可以写函数名
页面可能有多个定时器,我们可以经常给定时器加标识符(名字)
区别
setTimeout 延时时间到了,就调用这个函数,只调用一次,然后结束
setInterval 每隔这个延时时间,就调用函数,重复调用
停止定时器
语法 window.clearTimeout(timeoutID) //window 可省略 里面参数为定时器的标识符
语法 window.clearInterval(timeoutID)
回调函数 callback
this
全局作用域 或 普通函数中 或定时器 this指向全局对象window
方法中指向的是调用者
构造函数中 指向 实例对象
JS执行
回调函数 被认为异步任务
先执行 执行栈中的同步任务
异步任务放到任务队列中
等到 执行栈的同步任务执行完毕后,再按此执行任务队列中的异步任务