JS函数传参方法如下:
对于基本类型来说,其复制的是被复制变量在栈中的值,即创建了一个副本,对其中任何一个变量的改变都不会影响另外一个变量;对于引用类型来说,其复制的是被复制变量在栈中的值,但是这个值所存储的是变量指向到堆中的对象的指针,即该对象所存储的地址,复制后的变量虽然也是一个副本,但是却指向了与被复制的变量的同一个在堆中的对象。对其中任何一个变量所做的改变都会影响都会影响另外一个变量。函数的传参,js中所有函数的参数都是按值来传递的
实际上,这种传参实际上做的就是把变量的值复制给函数内部的临时变量(这个临时变量其实也有一个专门指向他们的数组,就是常用于模仿重载的arguments数组),所不同的就是对于基础数据类型来说,复制的就是传人参数在栈中的值,而引用类型复制的是参数在栈中的值,而这个值保存的是一个指向堆中地址的指针。
创建了另外一个对象,所做的任何的改变都不会影响带另外一个对象,因为它与参数所指向的对象是完成不同的对象。