鍍金池/ 問答/HTML/ 數(shù)組索引為什么可以用字符串索引,是進(jìn)行轉(zhuǎn)換了嗎

數(shù)組索引為什么可以用字符串索引,是進(jìn)行轉(zhuǎn)換了嗎

現(xiàn)在有數(shù)組如下

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

以前一直以為如果要輸出4,應(yīng)該a[2][1] 但是發(fā)現(xiàn)犀牛書上給出的是a[2]['1']
我試了一下 發(fā)現(xiàn)都可以
在我的理解里方括號應(yīng)該是索引值啊 為什么字符串也可以是先進(jìn)行轉(zhuǎn)換了嗎?

回答
編輯回答
舊時光

數(shù)組的索引本身就是字符串,JavaScript 語言規(guī)定,對象的鍵名一律為字符串,數(shù)組也是一種對象,因此數(shù)組的鍵名其實也是字符串。之所以可以用數(shù)值讀取,是因為非字符串的鍵名會自動被轉(zhuǎn)為字符串。

對象是javascript的基本數(shù)據(jù)類型。對象是一種復(fù)合值。它將很多值(原始值 或者其他對象)聚合在一起??赏ㄟ^名字訪問這些值。對象也可以看做是屬性的無序集合,每個屬性都有一個名/值。屬性名是字符串,因此我們可以把對象看成是從字符串到值的映射。 出自JavaScript權(quán)威指南第6版第六章對象 P118

數(shù)組是對象的頁數(shù)形式。使用方括號訪問數(shù)組元素就像用方括號訪問對象的屬性一樣。JavaScript將指定的數(shù)字索引值換成字符串——索引值1變成“1”.... 出自JavaScript權(quán)威指南第6版第七章數(shù)組 P146

幫您查完了!

2018年1月28日 07:16