javascript中无法理解的东西

时间:2012-11-04 00:00:07

标签: javascript

这是什么意思?

1

a==b&&b={}

2

a==b||b={}

我没有找到答案

2 个答案:

答案 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 = {} )