Attacklab.wmd_env.buttons=Attacklab.wmd_env.buttons||_4;
|| 是什么 在这种情况下怎么办?
将 _4 添加到 Attacklab.wmd_env.buttons 的数组中?
Attacklab.wmd_env.buttons=Attacklab.wmd_env.buttons||_4;
|| 是什么 在这种情况下怎么办?
将 _4 添加到 Attacklab.wmd_env.buttons 的数组中?
JavaScript 中的||
运算符返回左边的值,如果该值不计算为false
,否则返回右边的值。
来自Mozilla 的核心 JavaScript 1.5 参考:
expr1 || expr2
返回expr1
是否可以转换为 true;否则,返回expr2
。因此,当与布尔值一起使用时,||
如果任一操作数为真,则返回真;如果两者都为假,则返回假。
因此,在这种情况下,如果Attacklab.wmd_env.buttons
没有值,它会将值设置为_4
.
这是一种奇特的写作方式
if(!Attacklab.wmd_env.buttons)
Attacklab.wmd_env.buttons = _4;
提供默认值很好。请记住,不仅null
和undefined
会触发条件,而且0
,false
和''
,即false
在布尔上下文中考虑的所有内容。
如果Attacklab.wmd_env.buttons
是null
或undefined
,它将被设置为默认值_4
。
|| 运算符检查表达式左侧提供的值是否为假(在布尔上下文中)。如果是这样,则返回表达式右侧指示的替代值。否则返回原始值。
因此,例如,如果 'Foo' 为空,则以下代码会将其设置为默认值:
富 = 富 || “默认值”
这有时称为 Coalescing 运算符。Ruby 和 Perl 等其他语言也支持它。C# 有 ?? 做同样事情的操作员。