基本类型和引用类型区别问题
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
//基本类型 不可替换
var num="";
console.log(num);
var num="123";
console.log(num);
//引用类型
var persen = {}
console.log(persen)
persen.name="Arai";
persen.sex = "男";
persen.hobby = "编程";
console.log(persen);
</script>
</body>
</html>老师在课程上讲 基本类型不可替换的 ,引用类型可以增加增加数据,但我这个实验基本类型是num是空的然后num变量的值改了3,引用类型最前面的persen也是空的,后面加了数据而已。 我看两个没有什么区别啊 。怎么理解? 有点混淆。
41
收起
正在回答
2回答
同学你好,关于同学的问题回答如下:
1、不是的,person这个变量名在栈内存中存储,也是有地址的:

这个变量名指向这个对象的地址空间。
2、同学说的把persen 变量名改成其他的变量名是这样吗:

这样的话,persen把自己在堆内存中的引用地址赋值给了person,这两个变量指向同一个堆内存:

在控制台打印,两个对象是相等的:


同学只要 记住复杂数据类型在赋值的时候复制的是地址就可以了,指向同一片堆空间。
如果我的回答帮助了你,欢迎采纳,祝学习愉快~
相似问题
登录后可查看更多问答,登录/注册

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星