-1

这是什么意思?

1.

a==b&&b={}

2.

a==b||b={}

我没有找到答案

4

2 回答 2

1

这意味着,如果 a 等于 b,则将 b 设置为空对象。第二个意思差不多。不同之处在于,如果 a 和 b 不相等,第一个不会将 b 设置为空对象。但无论如何,第二个总是会这样做。那是因为 javascript 中的 OR 运算符在 AND 运算符短路的地方继续存在。

http://www.openjs.com/articles/syntax/short_circuit_operators.php

于 2012-11-04T00:03:18.673 回答
1

a==b是要测试的条件。运算符&&||测试条件非常类似于三元运算符,但是当您只需要测试一个条件时使用它,要么是 false||要么是 true &&。这将与以下内容相同:

if ( a == b ) { b = {} } // a == b && ( b = {} )
if ( a != b ) { b = {} } // a == b || ( b = {} )

但正如 Esailija 在评论中指出的那样,您似乎缺少一些括号:

a == b || ( b = {} )
于 2012-11-04T00:04:49.767 回答