2012-06-07 72 views
2

只是一个简单的问题,但不能自己得到答案。一个javascript数组的内存存储

在内存中数组使用连续空间来存储数据。

对象使用指针来查看数据的存储位置。

(纠正我,如果我错了:d)

在JavaScript数组是对象,它意味着数组的工作就像对象存储器?

回答

3

既然你不能在JavaScript中实际内存位置的引用,这有什么区别*内存是如何分配的?在Javascript中,一切都是一个对象,因为甚至没有任何类型的东西(真的)... var foo = 5; foo =“hello”; foo = function(){};等等等等。所有你需要知道的是一个数组如何在javascript中工作。不要担心它如何储存它的价值,在哪里......这不是你可以控制的东西,它绝对没有什么区别。

+1

想要知道它的性能,在我的脑海里阵列比对象更快 – jbduzan

+1

你将不得不让解释器来处理性能,而不是“你的想法”:)但是,严重的是,它不像你有一个选项。没有一个更低级别的数组类型供您利用,所以它的速度会像它将要发生的那样快......当它发生时......并且考虑到所有事情,速度非常快。 –

+0

@jbduzan数组和对象有两个不同的用途(在数据存储的上下文中)。过于简单化了一下:对象是哈希映射;数组是“数组”。 – Corbin