可能重复:
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节点是元素数组中的最后一个元素?
答案 0 :(得分:4)
简单回答:这意味着OR
:)
答案 1 :(得分:3)
你的理解是正确的;请注意,即使定义了element.node
,但 falsey 值(0
,false
等),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语句并自动执行下面的代码。
如果项目在“||”之前是假的,那么它会检查下一个,依此类推......