什么是“||”在var语句中意味着什么?

时间:2011-09-16 10:51:50

标签: javascript

  

可能重复:
  null coalescing operator for javascript?
  What does “options = options || {}” mean in Javascript?

有人能解释我这个表达吗?我偶然发现了javascript的代码行,我想知道这意味着什么。

var node = element.node || element[element.length - 1].node;

节点get的用法如下:

if (node.nextSibling) {
            node.parentNode.insertBefore(this.node, node.nextSibling);
        } else {
            node.parentNode[appendChild](this.node);
        }

起初我虽然节点应该是布尔值或其他东西,但事实并非如此。 我是否正确,如果我认为意思是:node是element.node但是如果node属性是undefined节点是元素数组中的最后一个元素?

4 个答案:

答案 0 :(得分:4)

简单回答:这意味着OR:)

参考:http://www.w3schools.com/js/js_operators.asp

答案 1 :(得分:3)

你的理解是正确的;请注意,即使定义了element.node,但 falsey 值(0false等),element[element.length - 1].node也会被分配到而是node

答案 2 :(得分:2)

这意味着,如果element.node的值在布尔表达式中表示为True,则node将为element.node,否则为element[element.length - 1].node

答案 3 :(得分:1)

这意味着OR

例如:

if this || that

表示“如果这个或那个”

所以当电脑进入“||”时部分代码,如果前面的语句为真,它将停止读取if语句并自动执行下面的代码。

如果项目在“||”之前是假的,那么它会检查下一个,依此类推......