每日分享!~ JavaScript中面试基础--1,数组检测的方式 2.传统事件绑定和W3C标准绑定事件的区别~
javaScript 那些方式中检测数据类型
- typeof
typeof isNaN // 结果是function
- 检测数组的几种方式
- instanceof
arr instanceof Array()
es5中 - toString.call()
toString.call()
- instanceof
传统事件绑定和符合W3c标准绑定有什么区别
两者的区别
-
传统事件绑定
-
<div onclick="alert('ok')">传统事件绑定</div>
-
<div id='dv'>方式2</div>
dv.onclick=function(){alert('ok')}
上面的这两种事件绑定方式都是传统的事件绑定方式
- 使用传统的事件绑定方式有不好的地方是:后面绑定的相同的事件会覆盖掉前面的事件
- 不支持
DOM事件流
(什么是dom事件流)dom事件会经过如下三个阶段
(事件捕获阶段)—(事件目标阶段) — (事件冒泡阶段)
-
-
符合W3C标准的绑定方式
addEvetListener/attachEvent
-
addEventLister/attachEvent 两种绑定方式都是
-
DOM事件流
-
相同事件都会依次触发
-
值得注意的是
addEventLister
需要在非IE浏览器下才能执行!IE9以上可以哦~
-
如果是IE8的话,建议使用
attachEvent和detachEvent
- 值得注意的是该种方式绑定事件需要带on前缀,而且该事件只支持事件冒泡不支持事件绑定
-
事件绑定都不需要on.
addEventLiseter('click',function(){alert('ok')},true)
这个事件是在事件捕获阶段执行第三个参数true 可以表示时间是否在捕获阶段执行,默认值是false
-
倘若
addEventLister('click',function(){alert('ok')},false)
表示事件在冒泡阶段执行
-
-
一份帮助文档,无论多么仔细,都不会帮助主人多敲一行代码!