js的逻辑 OR 运算符- ||

逻辑or运算大家都很熟悉,都会用。但是在javascript中用的更多,用的更妙。有时候用它来解决兼容问题特别方面、简洁。


比如获取鼠标对象。在 Internet Explorer 里,  event 是全局变量,会被存储在 window.event 里. 在 firefox 或者其他浏览器,event 会被相应的函数获取.当我们将mouseMove函数赋值于document.onmousemove,mouseMove 会获取鼠标移动事件。
在ie中获取鼠标对象是 
var ev=window.event;   而在firefox等浏览器中用function(ev){var
ev=ev},在调用函数的时候传入event,


这样如果要做到兼容,就可以判断浏览器是否为ie然后再调用哪个方法。但是这样就变得麻烦了,用 or运算就可以很容易实现。


function(ev){
  ev=ev||window.event;
}


在获取键盘的值 的时候也可以用到 ||


document.onkeydown=function(e){
     e = window.event || e;  
    
var  currKey=e.keyCode||e.which||e.charCode;
}


OR 运算符  是这样工作的:从左到右,如果左边的值是
NaN、undefined、null、false、0,就会执行右边的,否则不执行右边的,直接执行下面的代码。

原文地址:https://www.cnblogs.com/itjeff/p/3972710.html