我正在寻找将匿名函数传递给另一个函数,但它似乎没有像我想的那样工作。
我附上了代码,我想它会让你更好地了解我要做的事情。
如何成功将函数作为参数传递,然后调用它?
<script language="javascript" type="text/javascript">
function do_work(success) {
success;
}
do_work(function () {
alert("hello")
});
</script>
答案 0 :(得分:14)
你必须实际调用该函数:
function do_work(success) {
success();
}
答案 1 :(得分:0)
变量成功是Function的“实例”,因此您也可以调用 apply(),这将允许您重新定义范围:
function do_work(success) {
var foo = {
bar : "bat"
}
success.apply(foo);
}
do_work(function () {
alert(this.bar)
});