Как передать и вызвать функцию как аргумент в JavaScript?

Я надеюсь передавать анонимную функцию другой функции, но это, кажется, не работает, как я хотел бы.

Я присоединил код, я думаю, что он дал бы Вам лучшее представление, что я буду, чтобы сделать.

Как я успешно передаю функцию как аргумент и затем вызываю его?

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

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

</script>
7
задан I Hate Lazy 30 September 2012 в 18:00
поделиться

2 ответа

Вы должны фактически вызвать функцию:

function do_work(success) {
    success();
}
14
ответ дан 6 December 2019 в 15:19
поделиться

Переменная success является «экземпляром» Function, поэтому вы также можете вызвать apply(), что позволит вам переопределить область :

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

do_work(function () {
 alert(this.bar)
});
0
ответ дан 6 December 2019 в 15:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: