为什么(“a”,“b”中的“a”)产生错误,([1,2]中的1)产生真实?

时间:2012-08-04 11:26:17

标签: javascript match

  

可能重复:
  javascript in operator

为什么("a" in ["a","b"])会产生false(1 in [1,2])会产生true? 有"a"与该数组的第一个元素不匹配的原因是什么? 为什么它不能用于字符串?

1 个答案:

答案 0 :(得分:5)

in operator按键检查属性是否存在,而不是按值检查。您的长度为2 的数组的索引为"1" - arr["1"],其值为2。例如,0 in ["a", "b"]也是true。该行为不依赖于字符串或正在使用的数字。

您通常会在普通对象上使用它,而不是在数组上使用它。与"a" in {a:1} === true"b" in {a:1} === false一样。