一、javascript的变量
javascript变量可以用来保存两种类型的值:基本类型值和引用类型值。
基本类型值来源于以下5种基本的数据类型:Undefined, Null, Boolean, Number和string。引用类型包括:object类型,Array类型,date类型,RegExp类型,function类型,基本包装类型(Boolean, Number和string)。
基本类型值在内存中占据固定大小的空间,因此保存在栈内存中。引用类型的值实际上是对象,保存在堆内存中。
所以保存基本类型值的变量的复制是创建一个副本,而保存引用类型值的变量的复制其实是复制一个指针。
可用typeof操作符来确认基本类型值,用instanceof操作符来确认引用类型。
基本类型值就相当于一张网的节点,而引用类型就相当于节点之间的连线。正是由于这些节点和连线的存在,程序成为一个整体,一个系统。
注:访问变量时可按照按值和按引用来访问,但是函数的参数只能按值传递。
二、引用计数
声明一个变量并且将一个引用类型值赋给该变量时,则这个值的引用次数就是1.如果同一个值有被赋予了另外一个变量引用次数就加1,。如
var element=document.getElementById("myId"); VAR oBj=element;
就是一次引用的过程,这种引用的计数是对于javascript垃圾收集的一种方法,适当的解除不需要的引用,有利于提高javascript的性能。