首页 > 代码库 > 笔记:精通javaScript----JS中的对象和对象的引用

笔记:精通javaScript----JS中的对象和对象的引用

 /********************************************************************************************************
  * js对象的引用介绍
  *   引用是js的基础之一,引用其实就是一个指向实际对象位置的指针,而实际对象肯定不会是一个引用.
  *   对象可以有许多属性,这些属性可以看做是对象到其他对象的引用,多个变量可以引用同一对象,当这个对象变化时,变量
  *   也会发生变化
  *
/*****************************************多个变量引用同一对象**********************************************/
 var obj=new Object();
 obj.oneProperty=‘warlock‘;
 var objRef=obj;
alert("objRef.oneProperty:---"+objRef.oneProperty); // output :objRef.oneProperty:---warlock
obj.oneProperty="war";
alert("obj.oneProperty:---"+obj.oneProperty);  //output:obj.oneProperty:---war
alert("objRef.oneProperty:---"+objRef.oneProperty);  //output:objRef.oneProperty:---war
//可以看到当对象发生变化时,引用的变量也会发生相应的变化.
/*****************************************自修改对象**********************************************/
var items=new Array("one","two","three");
var itemsRef=items;
items.push("four"); 
alert("items:---"+items.length);  //output:items:---4
alert("itemsRef.length:---"+itemsRef.length); //output:itemsRef.length:---4
/*****************************************修改对象的应用,同时保持完整性********************************/
var item=new Array("one","two");
itemRef=item;
item=new Array("one","two","three");
alert("itemRef.length:--"+itemRef.length);  //output:itemRef.length:--2 
alert("item.length:--"+item.length);    //output:item.length:--3
//不是指向同一个引用,item是new Array("one","two","three"); itemRef是new Array("one","two");
/*****************************************修改对象,生成新的对象**********************************************/
var items="war";
var itemsRef=items;
items+="lock";
alert(items);   //output:warlock
alert(itemsRef);  //output:war

笔记:精通javaScript----JS中的对象和对象的引用