码迷,mamicode.com
首页 > 其他好文 > 详细

对象的引用

时间:2016-07-23 21:01:55      阅读:128      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!