当前位置: 首页 > Web前端 > JavaScript

函数的形参——简单类型和复杂类型

时间:2023-03-27 01:49:40 JavaScript

函数的形参也可以看成是一个变量。当我们将值类型(简单类型)变量作为参数传递给函数的形参时,实际上是将变量在空间中的值复制到形参中,方法内部对形参的任何修改都不会会影响外部变量。函数fn(a){a++;console.log(a);}varx=10;fn(x);//输出11console.log(x);//当我们将复杂类型的变量传递给形参时输出10参数化时,变量栈空间中保存的堆地址实际上是复制到形参中的。实参和形参实际上存放的是同一个堆地址,对同一个对象进行操作。functionFruit(name){this.name=name;}functionfn(x){console.log(x.name);x.name='苹果';console.log(x.name);}varb=newFruit('Banana');console.log(b.name);//香蕉(b);//输出Banana和Appleconsole.log(b.name);//苹果