|| 是什么意思?意思是?
可能的重复:
这个结构是什么意思?
我第一次遇到这种语法,并且不确定它在做什么:
self.name = _searchString(settings.dataBrowser) || "An unknown browser";
or (双管)条件有什么作用? self.name 什么时候会被设置为第二个值?
Possible Duplicate:
What does this construct mean?
I'm encountering this syntax for the first time and am not sure what it's doing:
self.name = _searchString(settings.dataBrowser) || "An unknown browser";
What does the or (double pipes) condition do? When would self.name be set to the second value?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是逻辑
or
运算符。它计算出第一个“真实”操作数。
特别是,如果第一个操作数为“falsy”,它将计算出第二个操作数 -
null
、false
、undefined
、0
、""
或NaN
。This is the logical
or
operator.It evaluates to its first "truthy" operand.
In particular, it will evaluate to the second operand if the first operand is "falsy" —
null
,false
,undefined
,0
,""
, orNaN
.Crockford 称其为默认运算符
Crockford calls / called it a default operator
这与我提出的问题直接相关,您可以在这里阅读
通过 PHP 中的 AND 运算符进行短路评估
所以基本上,它设置 self.name函数返回的值,但如果函数返回 false,则将自身设置为“未知浏览器”;
this is directly related to a question i have asked, you can read about it here
Short-circuit evaluation via the AND operator in PHP
so basically, it sets self.name to the value returned from the function, but if the function returns false, it sets itself to "An unknown browser";