语言特性-引用

<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>

posted @ 2013-07-15 16:08  hometown  阅读(141)  评论(0编辑  收藏  举报