JS 引用类型变量的值是一个指针,指向堆内存中的实际对象。
- 基本类型是传值调用
- 引用类型传共享调用
传值调用(Pass by value)
在传值调用中,传递给函数参数是函数被调用时所传实参的拷贝。在传值调用中实际参数被求值,其值被绑定到函数中对应的变量上(通常是把值复制到新内存区域)。
传引用调用(Pass by reference)
在传引用调用调用中,传递给函数的是它的实际参数的隐式引用而不是实参的拷贝。通常函数能够修改这些参数(比如赋值),而且改变对于调用者是可见的。
传共享调用(Call by sharing)
传共享调用和传引用调用的不同之处是,该求值策略传递给函数的参数是对象的引用的拷贝,即对象变量指针的拷贝。