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