js
1. 事件委托
事件委托指的是,不在事件的发生地(直接 dom)上设置监听函数,而是 在其父元素上设置监听函数,通过事件冒泡,父元素可以监听到子元素上事件的 触发,通过判断事件发生元素 DOM 的类型,来做出不同的响应。 举例:最经典的就是 ul 和 li 标签的事件监听,比如我们在添加事件时候,采用 事件委托机制,不会在 li 标签上直接添加,而是在 ul 父元素上添加。
2. 事件流
事件流描述的是从页面中接收事件的顺序,DOM2 级事件流包括下 面几个阶段。
- 事件捕获阶段
- 处于目标阶段
- 事件冒泡阶段
3. 改变函数内部 this 指针的指向函数(bind,apply,call 的区别)
apply和call函数都会改变自身方法参数一的对象的this指向,并立即执行。
区别在于apply的第二个参数为数组,call的第二个参数为arg1,arg2....这种形式。
通过 bind 改变 this 作用域会返回一个新的函数,这个 函数不会马上执行,需要手动调用。
4.异步加载 js 的方法
- <async>属性是HTML5中新增的异步支持。此方法被称为Script DOM Element 方法。并且如果在 IE 中,同时存在 defer 和 async,那么 defer 的优先级比较高,脚本将在页面完成时执行。
- defer 属性规定当页面已完成加载后,才会执行脚本。
- 创建 script 标签,插入到 DOM 中
网友评论