为什么 JavaScript 中的“in”运算符在测试数组中是否存在“0”时返回 true,即使数组似乎不包含“0”?
例如,这返回 true,并且有意义:
var x = [1,2];
1 in x; // true
这返回 false,并且是有道理的:
var x = [1,2];
3 in x; // false
然而这返回 true,我不明白为什么:
var x = [1,2];
0 in x;
它指的是索引或键,而不是值。0
and 1
是该数组的有效索引。还有有效的密钥,包括"length"
and "toString"
. Try 2 in x
。这将是错误的(因为 JavaScript 数组是从 0 索引的)。
See the MDN 文档 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)