JS里
a = 1;
b = a;
b是绑定了a的值内存地址
还是b从新开辟了一个内存复制了1这个值?
热议
推荐楼 dvbhack 2小时前
Javascript 的“原始值”(Primitive Values)是底层不可变,所以每一次传递都是复制值。
除了“原始值”以外的一切对象,赋值给某个变量时,实际上变量存储的都是对该对象的“引用”,所以传递的“值”就是引用。
所以 JavaScript 本质上一切都是按值传递,但是当变量指向对象时,该变量的“值”是对该对象的引用。因此可以理解为对象是按引用传递。跟一般意义上的“Pass by Reference”虽然是不一样的,但简单点就按照“Pass by Reference” 来理解也没有什么问题。
2楼 Jonathan52306 3小时前
应该是复制值
不然接下来你改动a b也要变
3楼 drivefuse 3小时前
基础类型是直接存值的。对象才是存的指针地址
4楼 c473432 3小时前
JavaScript 里面只有数组和对象是复制引用, 其他都是复制值.
5楼 ddydeyx 2小时前
类比C++,JS里其实都是复制值,不能传引用。
原始类型是传值,引用类型(对象)传指针
6楼 yanzhiling2002 2小时前
值传递和引用传递的区别,看看这块吧
8楼 来去自如 2小时前
Javascript 的“原始值”(Primitive Values)是底层不可变,所以每一次传递都是复制值。
除了“原始值” ...
多谢 试了PYTHON貌似也都是复制值
9楼 来去自如 2小时前
类比C++,JS里其实都是复制值,不能传引用。
原始类型是传值,引用类型(对象)传指针
多谢 试了PYTHON 也都是 复制值 PHP 用&可以变量引用传值 不用也是复制值
10楼 姜叔 2小时前
多谢 试了PYTHON 也都是 复制值 PHP 用&可以变量引用传值 不用也是复制值 ...
我的python是假的的吗?
a,b的内存地址是一样的
12楼 来去自如 1小时前
不管哪个语言,基础类型都可以视为值传递
多谢 大佬 了解了
申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。