每日分享!~ JavaScript中面试基础--1,数组检测的方式 2.传统事件绑定和W3C标准绑定事件的区别~

时间:2023-03-09 06:41:24
每日分享!~ JavaScript中面试基础--1,数组检测的方式  2.传统事件绑定和W3C标准绑定事件的区别~

javaScript 那些方式中检测数据类型

  • typeof
    • typeof isNaN // 结果是function
  • 检测数组的几种方式
    • instanceof arr instanceof Array() es5中
    • toString.call() toString.call()
      每日分享!~ JavaScript中面试基础--1,数组检测的方式  2.传统事件绑定和W3C标准绑定事件的区别~

传统事件绑定和符合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) 表示事件在冒泡阶段执行