`
lihy328
  • 浏览: 1522 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

js学习笔记

阅读更多
js的引用

1.指向同一对象的多个属性
js中的对象(object)包含一系列的属性,当其它的对象引用该对象时,这些属性实际上指向同一个obejct,所以当object的属性改变时,会产生全局的影响,例子如下:

var obj = new Object();

var objRef = obj;//引用

obj.oneProperty = true;//改变原始对象的属性值

alert(obj.oneProperty==objRef.oneProperty);//值为true,因为引用同一个对象,属性的改变对全局有影响


2.对象本身的修改

var obj1 = new Array("a","b","c");//定义并初始化数组对象,数组本身也是一个对象,数组中的值可以认为是对象的属性。

var tmpobj = obj1;//创建一个新对象引用数组对象

obj1.push("d");//向原始数组对象填充值

alert(obj1.length == tmpobj.length);//返回true,因为指向同一个对象,

3.改变对象的引用关系
var  a = new Array("a","b","c");//新建并初始化数组对象
var  tmp = a;//tmp引用对象a
a = new Array("ff","ggg");//a 指向一个新的对象,等价于 var c= new Array(); a=c;

alert(a.length==tmp.length);//返回false,因为a与tmp指向不同的对象。


这个例子说明当原始对象(被应用对象)改变了,那么引用关系仍然指向最原始的对象。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics