1传递基本类型参数,请看下面唎子
在调用函数addTen(count), count作为参数传递给函数的参数num此时在内存中分配了一块新的内存给num用于存储值20(注意count 与 num处于内存中的不同位置,相互独立)执行函数后 ,返回num的值局部变量num被销毁。
因此函数执行完成后count的值不会改变,函数的返回值赋值给resultresult的结果变为30。
2传递引用类型, 请看下面例子
Sung”(注意这里的person变量作为参数传递的是按值传递(也就是说传递的是指针地址))
下面来说明为什么是按值传递的请看下面例子
alert(person.name); //"Evan Sung"在setNae()函数中添加了两行代码,第一行代码是重新定义一个obj对象另一行代码是为该定义的新对象添加一个不同值得name属性。Sung”随後又将其指向另外一个Object对象,在内存中相当于obj的指针发生改变指向了另外一块新建的object内存,在改变其name属性时由于此时obj的内存与person指向的內存不是同一块内存,persont指向的内存中name属性值不会发生改变与此同时,在函数内部obj作为一个局部变量会在函数执行完毕后立即被销毁。