在实际函数调用中,如果函数参数是简单类型(string、number、boole、undefinde、null)会做一个值类型的数值副本传到函数内部;如果参数类型是引用类型(对象、函数、数组),会将引用类型的地址复制传给函数的参数。
结合具体函数展示效果
<script>
var a=9;
var person={name:'袁文军',age:19};
function f(c1,c2) {
c1=29;
c2.name='MasterYuan';
}
f(a,person);
console.log(a,person);
</script>
以上代码在执行完后,a的值并未发生变化,而person对象的name属性发生了变化。