2012-06-07 71 views
2

只是一個簡單的問題,但不能自己得到答案。一個javascript數組的內存存儲

在內存中數組使用連續空間來存儲數據。

對象使用指針來查看數據的存儲位置。

(糾正我,如果我錯了:d)

在JavaScript數組是對象,它意味着數組的工作就像對象存儲器?

回答

3

既然你不能在JavaScript中實際內存位置的引用,這有什麼區別*內存是如何分配的?在Javascript中,一切都是一個對象,因爲甚至沒有任何類型的東西(真的)... var foo = 5; foo =「hello」; foo = function(){};等等等等。所有你需要知道的是一個數組如何在javascript中工作。不要擔心它如何儲存它的價值,在哪裏......這不是你可以控制的東西,它絕對沒有什麼區別。

+1

想要知道它的性能,在我的腦海裏陣列比對象更快 – jbduzan

+1

你將不得不讓解釋器來處理性能,而不是「你的想法」:)但是,嚴重的是,它不像你有一個選項。沒有一個更低級別的數組類型供您利用,所以它的速度會像它將要發生的那樣快......當它發生時......並且考慮到所有事情,速度非常快。 –

+0

@jbduzan數組和對象有兩個不同的用途(在數據存儲的上下文中)。過於簡單化了一下:對象是哈希映射;數組是「數組」。 – Corbin