2010-05-19 80 views
7

我正在寻找将匿名函数传递给另一个函数,但它似乎并没有按照我的意愿工作。如何在JavaScript中传递和调用函数作为参数?

我附上了代码,我想它会给你一个更好的想法,我会做什么。

如何成功地将函数作为参数传递,然后调用它?

<script language="javascript" type="text/javascript"> 
function do_work(success) { 
    success; 
} 

do_work(function() { 
    alert("hello") 
}); 

</script> 
+3

'language'属性[已弃用](http://www.w3.org/TR/REC-html40/互动/ scripts.html#edef脚本)。 – 2010-05-19 18:44:37

+0

等一下!这是否意味着没有更多的VBScript? ;)) – 2013-09-10 21:02:46

回答

14

你有实际调用函数:

function do_work(success) { 
    success(); 
} 
+0

谢谢!我知道这一定很简单。 – 2010-05-19 18:57:25

0

变量成功是的Function“实例”,所以你也可以拨打适用(),这将允许你重新定义范围:

function do_work(success) { 
    var foo = { 
     bar : "bat"   
    } 
    success.apply(foo); 
} 

do_work(function() { 
alert(this.bar) 
}); 
相关问题