这是什么意思?
1
a==b&&b={}
2
a==b||b={}
我没有找到答案
答案 0 :(得分:1)
这意味着,如果a等于b,则将b设置为空对象。第二个意味着或多或少相同。不同之处在于,如果a和b不相等,则第一个不会将b设置为空对象。但无论如何,第二个将永远这样做。这是因为javascript中的OR运算符会在AND运算符短路的地方继续运行。
http://www.openjs.com/articles/syntax/short_circuit_operators.php
答案 1 :(得分:1)
a==b
是要测试的条件。运算符&&
和||
非常类似于三元运算符测试条件,但是当您只需要测试一个条件时使用它,可以是假||
或真&&
。它将与:
if ( a == b ) { b = {} } // a == b && ( b = {} )
if ( a != b ) { b = {} } // a == b || ( b = {} )
但正如Esailija在评论中指出的那样,似乎你错过了一些括号:
a == b || ( b = {} )