基本类型和引用类型区别问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <!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积分~
来为老师/同学的回答评分吧