簡體   English   中英

Array()和Array.prototype用法

[英]Array() and Array.prototype usage

首先,如果答案顯而易見,並且/或者很容易找到,我想請求借口。 我沒有找到任何完整的答案。

問題很簡單:

var array1 = Array().slice.call(arguments,1);
var array2 = Array.prototype.slice.call(arguments,1);

他們做同樣的事情。 你能用這種方式做Object,Date,String等原型

是的,你可以,因為每個實例都繼承自其構造函數的原型。

(new Array()).slice (或更好, [].slice )與Array.prototype.slice完全相同。

第二種方法更好,因為您沒有創建一個未使用的數組。 使用第一種方法,您構建一個數組,然后使用動態原型鏈解析來定位它的切片方法,然后使用您的參數作為上下文進行call 第二種方法直接訪問slice方法,因此您將避免對象創建和原型鏈解析,因此它更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM