我是一枚JS小白,今天看犀牛书,看到4.9.3章节的in运算符的时候,有个例子
var data=[7,8,9];
"0" in data //=>true:数组包含元素"0"
1 in data //=>true:数字转换为字符串
3 in data //=>false:没有索引为3的元素
就是“0” 和 1 为什么结果会是true呢?数组里面并不包含"0"和1啊,但是我自己用JS实际测试了后,书上的例子是正确的,百思不得骑姐,求前辈解惑
我是一枚JS小白,今天看犀牛书,看到4.9.3章节的in运算符的时候,有个例子
var data=[7,8,9];
"0" in data //=>true:数组包含元素"0"
1 in data //=>true:数字转换为字符串
3 in data //=>false:没有索引为3的元素
就是“0” 和 1 为什么结果会是true呢?数组里面并不包含"0"和1啊,但是我自己用JS实际测试了后,书上的例子是正确的,百思不得骑姐,求前辈解惑
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
in
遍历的是对象的key
,数组是一种特殊的对象。在遍历中,实际上
key
是String
类型,in
遍历会隐式调用toString()
方法来转换key
,所以"0"是"0"
,1会转换成"1"
。测试代码如下:
输出结果如下: