猿问

数组索引为什么可以用字符串索引,是进行转换了吗

现在有数组如下

var a = [1,2,[3,4]]

以前一直以为如果要输出4,应该a[2][1] 但是发现犀牛书上给出的是a[2]['1']
我试了一下 发现都可以 
在我的理解里方括号应该是索引值啊 为什么字符串也可以是先进行转换了吗?


慕桂英546537
浏览 485回答 1
1回答

泛舟湖上清波郎朗

数组的索引本身就是字符串,JavaScript 语言规定,对象的键名一律为字符串,数组也是一种对象,因此数组的键名其实也是字符串。之所以可以用数值读取,是因为非字符串的键名会自动被转为字符串。对象是javascript的基本数据类型。对象是一种复合值。它将很多值(原始值 或者其他对象)聚合在一起。可通过名字访问这些值。对象也可以看做是属性的无序集合,每个属性都有一个名/值。属性名是字符串,因此我们可以把对象看成是从字符串到值的映射。 出自JavaScript权威指南第6版第六章对象 P118数组是对象的页数形式。使用方括号访问数组元素就像用方括号访问对象的属性一样。JavaScript将指定的数字索引值换成字符串——索引值1变成“1”.... 出自JavaScript权威指南第6版第七章数组 P146帮您查完了!
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答