Javascript逻辑运算符"或"的巧用

domObj.onkeydown = function(e){
      
       if(e){
        e.……
    }else{
        event.……
    }

}

上面例子:如果是火狐浏览器执行if里面的语句,即使用e这个参数,来引用“事件对象”。

     如果是IE浏览器则执行else里面的语句,即使用event来引用“事件对象”。

这是为了兼容两个浏览器而使用的if判断方法,来使用事件对象。

domObj.onkeydown = function(e){
      
       var oevent = e||event;
    
    oevent.……

}

上面例子:通过使用“或”这个逻辑运算符的特性,来自动判断应该使用那个做为事件对象的引用。

解释:e || event ;

    如果是IE浏览器,那么e不能做为事件对象的引用,为假。event为真,那么event就会赋值给var oevent = event;

    反之在火狐浏览器,那么event不能做为事件对象的引用,为假。e为真,那么e就会赋值给 var oevent = e;

所以无论在那个浏览器下面,oevent都可以正确的引用事件对象!这种写法,比前面的if(){}else{}感觉要优雅些!

原文地址:https://www.cnblogs.com/lufy/p/2482850.html