如何在Javascript中传递和调用函数作为参数?

时间:2010-05-19 18:39:15

标签: javascript function

我正在寻找将匿名函数传递给另一个函数,但它似乎没有像我想的那样工作。

我附上了代码,我想它会让你更好地了解我要做的事情。

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

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

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

</script>

2 个答案:

答案 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)
});