javaScript 函数传入对象参数

参数为普通对象

当定义、调用函数时,传参可以传入对象,此时将对象的引用地址赋予定义函数时的形参变量。如下实例

<code>var obj={a:1};
function fn2(o){
o.a++;
}
fn2(obj);
console.log(obj);/<code>

上述代码中,调用fn2函数时,传入实参为对象obj,将引用地址赋予o,此时,o和obj的引用地址相同,二者是同一个对象,所以修改了o.a的值,obj.a也被修改了。

参数为函数(函数也是对象)

当定义、调用函数时,传参也可以传入函数, 例如回调函数,如下实例

<code>function countNumber(fn){
return fn(3,5);
}
function getSum(a,b){
return a+b;
}
需要计算3+5;
var s=countNumber(getSum);
console.log(s);
结果:8/<code>

把getSum函数当作实参传入countNumber函数中后,此时fn即被赋值为getSum,执行getSum()函数并返回结果,实现函数的回调。这里的countNumber函数相当于中间的桥接,执行参数中的函数。


分享到:


相關文章: