你可以这样复制:
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?
最佳答案
in
运算符绑定(bind)相当松散。在 in
子表达式中加上括号通常是个好主意。
因此,例如,!"var1"in test
被解析为(!"var1") in test
。
关于javascript - 为什么 JavaScript 的 "in"运算符错误地返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14719952/