您的位置:首頁技術文章
文章詳情頁

javascript - 這是什么數組?

瀏覽:101日期:2023-04-17 18:26:37

問題描述

在學習正則表達式的時候,發現exec方法返回了這樣一個數組,請問這是什么數組?

javascript - 這是什么數組?

我在瀏覽器控制臺輸入了這個數組,發現報錯了

javascript - 這是什么數組?

問題解答

回答1:

我typeof 看它,說是一個對象,不過typeof檢查數據也會告訴你是對象。

我又用 Array.isArray 檢查,返回true。

所以我看了一下 MDN 上面關于這個函數的解釋:

https://developer.mozilla.org...

它說返回值是一個數組。

我看了一下 ECMA 5.1 上面數組相關描述也沒有找到

http://ecma-international.org...

所以我也在這里等大神來解答 =。=

----------------- 強行解釋的分割線 -----------------

數組的實例也是一個對象,所以確實可以給它添加屬性并賦值。

但是要注意,不是復合類型的變量,是沒有辦法給它們的實例添加屬性并賦值的。因為做了也沒有用。

javascript - 這是什么數組?

我記混了,所以以為沒有辦法給數值的實例添加屬性賦值。。。。。

回答2:

let a = ['Box'];a.index = 10;a.input = 'This is a Box! That is a Box!';回答3:

正則的exec返回值雖然說是數組, 但是有其他屬性, 具體可以看文檔文檔, 多翻翻犀牛書或者高程吧

回答4:

var a = [];a[0] = ’tets’a[1] = ’fasfasf’a.index = ’對象屬性’

輸出 a 得到,在JavaScript里面,數組也是一個對象

['tets', 'fasfasf', index: '哈哈哈']

回答5:

我的理解是數組的成員和數組對象上的成員。javascript - 這是什么數組?]

回答6:

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為什么可以設置成功?先看打印結果:javascript - 這是什么數組?

為了更清晰地說明,我們將其展開,觀察其原型鏈。對象a的原型鏈:javascript - 這是什么數組?數組b的原型鏈:javascript - 這是什么數組?由上圖可以看出,數組從原型鏈上繼承了Obejct對象類型的方法。當['box']在Array(0)中找不到對應方法時,會沿著原型鏈向下,到Object中去尋找方法。所以理論上來說,數組類型也可以認為是對象類型的一種。

回答7:

var a = [’box’];a.index = ’dsfsaf’;a.input = ’gfhdsgsadreqw’;console.log(a)回答8:

第一個問題:就是普通的數組

第二個問題:語法錯誤

[] 定義數組

javascript - 這是什么數組?

標簽: JavaScript
相關文章:
国产综合久久一区二区三区