基本类型和引用类型区别问题
<!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 星