javascript - 为什么 JavaScript 的 "in"运算符错误地返回 false?

标签 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?

最佳答案

in 运算符绑定(bind)相当松散。在 in 子表达式中加上括号通常是个好主意。

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

关于javascript - 为什么 JavaScript 的 "in"运算符错误地返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14719952/

相关文章:

arrays - 如何仅使用一个函数按属性对对象数组进行排序?

java - 为什么final可以在构造函数中初始化?

javascript - 我需要使用按钮将 var 信息传递给函数

javascript - Identity Server 4,API 未经授权调用自省(introspection)端点

javascript - 从 Meteor js 中的每一行获取值

php - 将数字索引的 PHP 数组传递给 javascript

c++ - 如何通过对 2 位或更多位数字使用 XOR 运算符来解决此 C++ 问题

javascript - 拖放(jquery ui-droppable)在 AngularJS 中不起作用

javascript - 如何在 javascript 中读取 20 位整数?

javascript - 如何在循环中创建动态对象?