为什么[“a”,“b”]中的(“a”)产生假,而[1,2]中的(1)产生真
Why does ("a" in ["a","b"]) yield false, and (1 in [1,2]) yield true?
可能重复:
操作员中的javascript
为什么("a" in ["a","b"])
产生false
,而(1 in [1,2])
产生true
?"a"
与该数组的第一个元素不匹配,而1与之匹配,这是有原因的吗?为什么它不适用于字符串?
in
运算符通过键而不是值来检查属性的存在。长度为2的数组有一个索引"1"
-arr["1"]
是值2
。例如,0 in ["a", "b"]
也是true
。行为并不取决于所使用的字符串或数字。
您通常会在普通对象上使用它,而不是在数组上。如"a" in {a:1} === true
或"b" in {a:1} === false
。
相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- 为什么要使用0>javascript中的0
- 为什么忽略了eval()代码中的语法错误
- 为什么画布形状只在3个画布中的最后一个画布上渲染
- 为什么是文档.旧版应用程序中的DOM-object.properties为null
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 为什么生成器中的console.log会按这样的顺序出现
- 为什么可以't我跳过函数签名中的参数分配
- 为什么在这种情况下,“This”确实充当javascript函数中的私有成员
- 为什么可以't我将数据从c#发送到asp.net中的Javascript文件
- 为什么匿名函数本身就是javascript中的语法错误
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作
- 为什么我在Cloud9中的http请求总是返回错误
- 使用JS将页面中的每个字母设置为随机颜色.为什么在页面的每个打开标记之前总是有一组额外的span标记
- 为什么当我需要位于顶部的函数时,在脚本中的某些点上没有定义函数
- 为什么regex只验证字段中的一个字符,而不是所有输入的字符
- 为什么在以下代码段中无法访问中的变量值
- 为什么parseInt()比Firefox中的*1慢得多
- 为什么不是't正在设置的||条件中的以下值
- setInterval似乎不像它调用的函数中的().为什么