1
我很好奇的修改JavaScript的內置數組類的方式不同的速度,所以我做了一個小測試:爲什麼自定義陣列比香草版本慢?
http://jsperf.com/array-vs-custom-array
與此相比增加了刪除功能,以陣列的三種不同的方式。使用Object.create()添加的remove()函數似乎非常狂野(在Chrome中約爲90%)比使用.call()或添加到Array.prototype的相同函數慢。他們都做同樣的事情,實際上是相同的功能,所以我很好奇爲什麼有一個速度差。
有趣的..我修改了測試,以包括一個薄荷的例子,其中我創建它後,在數組中添加刪除。這似乎是巧克力的Object.create()方法最快和功能相同,但與不利的是,.remove將可枚舉.. http://jsperf.com/array-vs-custom-array/3 – notlion
此外,我在這樣的印象中,函數調用將首先查看原型上的直接對象和_then_。所以巧克力和香草不應該一樣嗎? Hrm .. – notlion
如果您仍然對這個測試感興趣,我認爲問題的一部分是您在時間段中有太多內容。如果將推送呼叫移動到測試設置中,則對於所有三種類型的刪除性能都是相似的。 http://jsperf.com/array-vs-custom-array/4 – myeeshen