javascript - 這是什么數(shù)組?
問題描述
在學習正則表達式的時候,發(fā)現(xiàn)exec方法返回了這樣一個數(shù)組,請問這是什么數(shù)組?
我在瀏覽器控制臺輸入了這個數(shù)組,發(fā)現(xiàn)報錯了
問題解答
回答1:我typeof 看它,說是一個對象,不過typeof檢查數(shù)據(jù)也會告訴你是對象。
我又用 Array.isArray 檢查,返回true。
所以我看了一下 MDN 上面關(guān)于這個函數(shù)的解釋:
https://developer.mozilla.org...
它說返回值是一個數(shù)組。
我看了一下 ECMA 5.1 上面數(shù)組相關(guān)描述也沒有找到
http://ecma-international.org...
所以我也在這里等大神來解答 =。=
----------------- 強行解釋的分割線 -----------------
數(shù)組的實例也是一個對象,所以確實可以給它添加屬性并賦值。
但是要注意,不是復合類型的變量,是沒有辦法給它們的實例添加屬性并賦值的。因為做了也沒有用。
我記混了,所以以為沒有辦法給數(shù)值的實例添加屬性賦值。。。。。
回答2:let a = ['Box'];a.index = 10;a.input = 'This is a Box! That is a Box!';回答3:
正則的exec返回值雖然說是數(shù)組, 但是有其他屬性, 具體可以看文檔文檔, 多翻翻犀牛書或者高程吧
回答4:var a = [];a[0] = ’tets’a[1] = ’fasfasf’a.index = ’對象屬性’
輸出 a 得到,在JavaScript里面,數(shù)組也是一個對象
['tets', 'fasfasf', index: '哈哈哈']
回答5:我的理解是數(shù)組的成員和數(shù)組對象上的成員。]
var a={0:'Box'};a.index=10;a.input='This is a Box! That is a Box!';var b=['Box'];b.index=10;b.input='This is a Box! That is a Box!'console.log(a,b);
其實這里最讓人迷惑的是,['Box'].index=10為什么可以設(shè)置成功?先看打印結(jié)果:
為了更清晰地說明,我們將其展開,觀察其原型鏈。對象a的原型鏈:數(shù)組b的原型鏈:
由上圖可以看出,數(shù)組從原型鏈上繼承了Obejct對象類型的方法。當['box']在Array(0)中找不到對應(yīng)方法時,會沿著原型鏈向下,到Object中去尋找方法。所以理論上來說,數(shù)組類型也可以認為是對象類型的一種。
var a = [’box’];a.index = ’dsfsaf’;a.input = ’gfhdsgsadreqw’;console.log(a)回答8:
第一個問題:就是普通的數(shù)組
第二個問題:語法錯誤
[] 定義數(shù)組
相關(guān)文章:
1. javascript - JS設(shè)置Video視頻對象的currentTime時出現(xiàn)了問題,IE,Edge,火狐,都可以設(shè)置,反而chrom卻...2. java固定鍵值轉(zhuǎn)換,使用枚舉實現(xiàn)字典?3. 如何為每個應(yīng)用程序配置tomcat 6的logs / catalina.out。(為sys.out,sys.err配置Web應(yīng)用程序特定的日志文件)4. css - ionic中的柵格布局如何讓文字內(nèi)容多少不同的每一列中的內(nèi)容都能垂直居中?5. php自學從哪里開始?6. phpstady在win10上運行7. java - 我設(shè)置了cookie的max age,但是cookie依然在關(guān)閉游覽器后消失了8. python - flask學習,user_syy添加報role is invalid keyword for User.9. 這是什么情況???10. javascript - 用jsonp抓取qq音樂總是說回調(diào)函數(shù)沒有定義
