为什么JavaScript"" in"操作员返回错误错误?

时间:2013-02-06 01:14:16

标签: javascript arrays object

你可以这样复制:

var test = {'var1': 'bacon'};

"var1" in test;             // Returns true  - Correct
!"var1" in test;            // Returns false - Correct
"nonexistant" in test;      // Returns false - Correct
!"nonexistant" in test;     // Returns false - Incorrect - This should be true.. should it not?

1 个答案:

答案 0 :(得分:8)

in运算符相当松散地绑定。将in子表达式括起来通常是一个好主意。

因此,!"var1" in test例如被解析为(!"var1") in test