js var event = window.event || e; var ele = event.srcElement || event.target; 这两句什么意思?

JavaScript015

js var event = window.event || e; var ele = event.srcElement || event.target; 这两句什么意思?,第1张

js中,逻辑操作是用的逻辑短路机制。

|| 表示或,左右两个运算元有一个为true时结果为true。而逻辑短路的意思,就是当第一个运算元为true时,第二个运算元不需要判断了,因为也一定是true。而当第一个运算元为false的时候,第二个运算元同样也不需要判断,因为第二个为true时整体就为true,第二个为false时整体也是false。

在js中,逻辑短路的应用稍微拓展了。当运算元为true时,就将这个运算元赋值给变量。举第一条语句为例。当window.event为true,也就是window.event存在时(js中,未定义变量默认为undefined,表现为false),就将window.event赋值给前面的var event。而如果window.event不存在,则将第二个运算元,也就是||后面的e赋值给event。

这段代码应该是事件处理函数里的,兼容IE。因为在IE里,event必须加上作用域window,同时IE里获取发生事件的DOM节点用的是event.srcElement,其他浏览器用的是event.target。

讲的有点晦涩,不懂可以追问。

||‘或’两边只要有一个为真的时候表达式就为真。!‘非’非后面的为真表达式就为假后面为假的表达式就是真的就是相反的意思。

Java Script程序是由若干语句组成的,语句是编写程序的指令。JavaScript提供了完整的基本编程语句:赋值语句、switch选择语句、while循环语句、for循环语句、foreach循环语句、do,while循环语句、break循环中止语句、continue循环中断语句、with语句、try…catch语句、if语句。

与|的关系

在Java中||和|都是逻辑或运算符,两种逻辑或(||和|)的运算规则也基本相同。

|运算是把逻辑表达式全部计算完,而||运算具有短路计算功能。

对于|来说,如果左侧条件为true,也会计算右侧条件的值,而对于||来说,如果左侧的条件为true,则不计算右侧的条件,这种现象被称作短路现象。所谓短路计算,是指系统从左至右进行逻辑表达式的计算,一旦出现计算结果已经确定的情况,则计算过程即被终止。

以上内容参考:百度百科-||