Javascript 引用类型

深入理解JavaScript中对象与变量的作用域
本文详细解析了JavaScript中对象与变量的作用域,包括值类型与引用类型的区别,对象共用与变量作用域的变化,以及如何正确理解var赋值与对象引用之间的关系。通过实例讲解,帮助开发者更好地掌握JavaScript作用域的使用技巧。

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

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); //依然是存在的

要搞清楚啦 ^^ 

 

转载于:https://www.cnblogs.com/keatkeat/p/3896716.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值