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函數相當於中間的橋接,執行參數中的函數。


分享到:


相關文章: