什么是|| 操作员呢?

Sup*_*vah 7 javascript operators

Attacklab.wmd_env.buttons=Attacklab.wmd_env.buttons||_4;
Run Code Online (Sandbox Code Playgroud)

什么是|| 在这种情况下呢?
将_4添加到Attacklab.wmd_env.buttons的数组中?

bdu*_*kes 19

||如果该值未计算到false,则JavaScript中的运算符返回左侧的值,否则返回右侧的值.

来自Mozilla的Core JavaScript 1.5参考:

expr1 || expr2
返回expr1是否可以转换为true; 否则,返回expr2.因此,当与布尔值一起使用时,||如果任一操作数为真,则返回true; 如果两者都为假,则返回false.

因此,在这种情况下,如果Attacklab.wmd_env.buttons没有值,则将值设置为_4.


Chr*_*oph 12

这是一种奇特的写作方式

if(!Attacklab.wmd_env.buttons)
    Attacklab.wmd_env.buttons = _4;
Run Code Online (Sandbox Code Playgroud)

提供默认值非常好.请记住,不仅nullundefined触发条件,而且0,false'',即认为这是一切都false在布尔值的上下文.


Joh*_*kin 8

如果Attacklab.wmd_env.buttonsnullundefined,则将其设置为默认值_4.