js传递引用类型参数是如何传递的?

参数传递是按值传递的,为何传递引用类型时又是传递的地址?

阅读 3.2k
3 个回答

参数按值传递,这个"值"对于原始类型来说,就是变量对应的原始数据;而对于对象类型来说,就是这个变量指向的地址数据(地址也是个值)

这是JS解释引擎自己控制的,我们只要知道就好了。我们知道,数组、类都是引用传递的,基本类型都是按值传递的。这主要是考虑到内存的利用率,数组和类等一等都比较大,复制一份的时间就很不合算,而且,很多时候我们都需要修改其中的值,引用传递才是最合理的。

因为这个变量本来就是存放在栈里面的堆地址(指针),堆空间大适合存放复杂数据类型,栈空间小效率高一般存放原始类型(基本类型)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题