[原]JavaScript必备知识系列-变量内存分配

ECMAScript 变量包括两种类型:基本类型值,引用类型

基本类型值

保存在栈内存中的简单数据段。Undefined, Null,Boolean,Number和String,在内存中分别占有固定大小的空间,一般称它们按值访问。

引用类型

保存在堆内存中的对象。Object,Function,Array,以及自定义对象,等等

意思是变量中保存的实际上只是一个指针,这个指针指向内存中的另一个位置,该位置保存对象由于这种类型大小不固定(比如数组是可以动态增加的),不能保存在栈内存当中,但是它们的内存地址是固定的,我们可以存储在栈内存当中。当查询引用类型的变量时,就首先从栈中读取内存地址,然后“顺杆爬”地找到保存在堆中的值。这种方式一般称为按“引用”访问,因为我们操作的不是实际值,而是被那个值所引用的对象。

posted @ 2012-09-12 22:05  雨知  阅读(1611)  评论(1编辑  收藏  举报