语言特性-引用
<script language="javascript" type="text/javascript">
//引用是javascript的基础之一。“引用”是指向实际对象的一个指针。
//如果多个引用指向同一个对象,那么对象类型变了,所有的引用都改变。
var obj = new Object();
var refobj = obj; //两个变量指向同一个对象
refobj.onprop = "rxm";
obj.onprop = "cwr";
alert(refobj.onprop == obj.onprop); //true
alert(refobj.onprop); //cwr
//Array对象本质上是把值作为属性保存。【同上】
var items = new Array("bj", "sh", "tj");
var refitems = items;
items.push("cq");
alert(refitems.length); //4
//JS中引用是沿着引用链追溯上面的对象,下面这个例子实际对象已经变了
//引用还是指向旧的对象
var strs = new Array("china", "japan", "USA");
var refstrs = strs;
strs = new Array("zhongguo");
alert(strs.length == refstrs.length); //false
//在执行字符串连接操作时,总会产生一个新对象,而非原字符串的修改版本。
var str = "rxm";
var newstr = str;
str += "cwr"; //产生一个新的对象
alert(str); //rxmcwr
alert(newstr); //rxm
</script>