码迷,mamicode.com
首页 > 编程语言 > 详细

Javascript 引用类型

时间:2014-08-07 13:03:59      阅读:365      评论:0      收藏:0      [点我收藏+]

标签:java   ar   javascript   对象   指针   内存   ip   sp   

一般上我们可以这样却理解

str int 都是值类型

var a = "5566";

var b = a;

b = "7";

//a 依旧是 5566 

值是通过复制过去的。

var obj = {

 a : "5566"

}

var obj2 = obj;

obj2.a = 7;

obj.a == 7 //true 

对象是共用的。

 

重要思想 : 

当你 var abc = {}; (创建一个对象时,我们暂时叫它对象A),内存就会有一个对象A

而你的var abc 其实只是保持了对这个对象A的指针。

如果你写 var abc = 另一个对象。

就表示你把指针转移去了另一个对象。

而不是把对象A给覆盖掉哦

var 只能改变指针,指向其它对象,而当一个内存对象,没有被任何var指向的时候,那么它会被自动删除掉

所以我们平时写 var abc = null; 其实也只是断开这个 abc和内存对象的指针而已(不要以为是洗掉)

var a = { name: "keatkeat" };
var b = a;
b = null;
alert(a.name); //依然是存在的

要搞清楚啦 ^^ 

 

Javascript 引用类型,布布扣,bubuko.com

Javascript 引用类型

标签:java   ar   javascript   对象   指针   内存   ip   sp   

原文地址:http://www.cnblogs.com/keatkeat/p/3896716.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!