Javascript中布尔运算符的高级应用

对象检测语句:var W3CDOM = document.getElementsByTagName && document.createElementjavascript

为了执行运算符&&,两个对象被解释成为布尔型,你可能认为W3CDOM变成了一个布尔值,但事实不是这样,事实是返回最后一次被求值的表达式的值。若是用alert查看alert(W3CDOM),弹出的提醒框显示的是java

function createElement(){浏览器

[native code]code

}对象

利用&&和||的怪异特性事件

大多数浏览器保存事件目标在evt.target中,但IE是evt.srcElement.所以能够用以下办法ip

var evtTarget=evt.target || evt.srcElement;get

若是浏览器兼容W3CDOM,evtTarget就存在,即,它不等于undefined, 而且javascript发现一个表达式值为true,它再也不须要继续计算下一个表达式,因此中断了||运算。若是浏览器是IE,evt.Target等于undefined,它被转换为false,所以Javascript继续计算下一个表达式,由于evt.srcElement存在,它的值为true,一样,||不返回true,而是返回最后求值的表达式的值io

相关文章
相关标签/搜索