2011-12-02 258 views
0

我明白了,你可以將一個函數作爲參數傳遞給另一個函數,像這樣傳遞一個匿名函數到另一個函數在Javascript

var fn = function(){alert('Hello')} 
    function outer(a,fn){ 
    fn(); 
    } 

你怎麼能傳遞一個匿名函數到另一個功能,有它內部的調用函數從外部函數中獲取參數後?

function outer(function(x){alert(x);}) 
{ 
var xVar = "foo"; 
//..would liked to pass xVar to the anaonymous function 
//passed as a param to the function so that "foo" is displayed as message... 
} 

請注意更改外部簽名將是最後的選擇。

+2

沒有你的例子真的有效...... –

回答

1

你正在用函數聲明(定義一個函數)混淆函數調用(調用一個函數)。下面是你怎麼做的問:

// declare the outer function 
function outer(func) 
{ 
    var xVar = 'foo'; 
    func(xVar) 
} 

// now invoke it 
outer(function (x) 
{ 
    alert(x); 
}); 
+2

+1,但'外(alert);'會更簡單。 :-) – ruakh

+0

確實如此,但OP特別詢問了使用匿名函數的情況,而alert並不是。 –

相關問題