首页 > 其他 > 详细

对象的引用

时间:2016-07-23 21:01:22      阅读:178      评论:0      收藏:0      [点我收藏+]

1.对象和函数都是引用关系。

var a = 5;
var b = a;//这个是一种赋值的关系,b改变不会影响到a。因为a,b都是变量
b += 3;
alert(b); //8
alert(a); //5
var a = [1,2,3];
var b = a;//a,b都是个对象。不是赋值的关系了,是一种引用。

b.push(4);

alert(b); //1,2,3,4
alert(a); //1,2,3,4

 此时a和b 共用一个地址,b对象的元素发生改变,a也会改变。

但是下面的例子,由于var b=[],这个操作,b又重新有了新的地址。

var a = [1,2,3];
var b = a;
b = [1,2,3,4];

alert(b);  //1,2,3,4
alert(a);  //1,2,3

2.复制的时候,不想改变原来的值

错误的例子:这个obj的a值发生了变化。

var obj = {
    a : 10
};

var obj2 = obj;

obj2.a = 20;

alert(obj.a);  //20

正确的方法:浅拷贝

 

对象的引用

原文:http://www.cnblogs.com/GumpYan/p/5699456.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!