javascript针对对象采用||运算符

来源:互联网 发布:tvbj2港台网络电视直播 编辑:程序博客网 时间:2024/06/07 10:43

在javascript中||是逻辑运算符,表示或,只要两个操作数中有一个为true,就可以返回true,否则返回false。

今天看到了如下代码:

function $$(expr, con) { return [].slice.call((con || document).querySelectorAll(expr)); }
对上式中||十分迷惑。因为||前后都是对象,这种情况下,||表示什么含义呢?


其实,这个地方|| 表示,前后两个对象里面第一个不是null或者undefined的对象。


相关测试代码如下:

<!DOCTYPE html><html><head><meta name="author" content="Koala" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title> ||测试 </title>    <script src="jquery-2.1.3.js"></script></head><body><div id="test"><p>test</p></div><script type="text/javascript">function man(){this.say=function(){alert("I am man");}}function woman(){this.say=function(){alert("I am woman")}}var m=new man();var w=new woman();m=null;(m || w).say();</script></body></html>

上面代码中将显示 I am woman.

如果把m=null;注释掉的话,将要显示 I am man.


这个就是||的含义。



0 0
原创粉丝点击