“||”是啥意思在 var 语句中是啥意思? [复制]
Posted
技术标签:
【中文标题】“||”是啥意思在 var 语句中是啥意思? [复制]【英文标题】:what does the "||" in a var statement mean? [duplicate]“||”是什么意思在 var 语句中是什么意思? [复制] 【发布时间】:2011-11-18 14:32:43 【问题描述】:可能重复:null coalescing operator for javascript?What does “options = options || ” mean in Javascript?
有人能解释一下这个表达吗?我偶然发现了 javascript 代码行,我想知道它是什么意思。
var node = element.node || element[element.length - 1].node;
node get 的用法如下:
if (node.nextSibling)
node.parentNode.insertBefore(this.node, node.nextSibling);
else
node.parentNode[appendChild](this.node);
起初我虽然节点应该是一个布尔值或其他东西,但它不是。 如果我认为意思是:节点是 element.node 但如果节点属性是未定义的节点是元素数组中的最后一个元素,我是否正确?
【问题讨论】:
【参考方案1】:您的理解是正确的;请注意,即使定义了 element.node
,但它是一个 falsey 值(0
、false
等),element[element.length - 1].node
将被分配给 node
。
【讨论】:
【参考方案2】:这意味着,如果element.node
在布尔表达式中有一个代表True的值,则node
将为element.node
,否则为element[element.length - 1].node
【讨论】:
【参考方案3】:简单回答:意思是OR
:)
参考:http://www.w3schools.com/js/js_operators.asp
【讨论】:
那部分很明显。真正的问题是:某种奇怪的“或”操作是否接受对象而不是布尔值,并且还返回一个对象而不是布尔值?这个“或”是如何定义的?因为它肯定不是按逻辑的标准定义。【参考方案4】:意思是或
例如:
if this || that
意思是“如果这样或那样”
所以当电脑来到“||”部分代码,如果前面的语句为真,它将停止读取该 if 语句并自动执行下面的代码。
如果“||”之前的项目为假,则检查下一个,以此类推...
【讨论】:
以上是关于“||”是啥意思在 var 语句中是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
语句“out |= (in & 0x7F) << (bytes++ * 7);”是啥意思?在java中是啥意思?