2011-12-02 75 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并不是。 –

相关问题