es6中陣列擴充套件
阿新 • • 發佈:2020-08-19
在Javascript中什麼是偽陣列?如何將偽陣列轉化為標準陣列?
無法直接呼叫陣列方法或期望length屬性有什麼特殊的行為,不具有陣列的push,pop等方法,但仍可以對真正陣列遍歷方法來遍歷它們。
典型的是函式的argument引數,還有像呼叫getElementsByTagName,document.childNodes之類的,它們都返回NodeList物件都屬於偽陣列。
可以使用Array.prototype.slice.call(fakeArray)將陣列轉化為真正的Array物件。
偽陣列定義
- 擁有length屬性,其它屬性(索引)為非負整數(物件中的索引會被當做字串來處理,這裡你可以當做是個非負整數串來理解)
- 不具有陣列所具有的方法
- 偽陣列是一個 Object, 而真實的陣列是一個 Array
es5中如何將偽陣列轉化為真陣列
Array.prototype.slice.call(arguments)
// 或
[].slice.call(arguments)
es6中如何將偽陣列轉化為真陣列