Может ли кто-нибудь прояснить этот момент для меня?Функции закрывания и обратного вызова JavaScript
Две из моих любимых функций в JavaScript - это закрытие и тот факт, что функции являются объектами первого класса.
Если я хочу воспользоваться закрытием, например, функцией обратного вызова, то функция всегда должна быть внутренней функцией. Например:
doNested();
function doNested() {
var message='Hello';
window.setTimeout(inner, 3000);
function inner() {
alert(message);
}
}
Невозможно передать параметр внешней функции обратного вызова. Например:
doSeparated();
function doSeparated() {
var message='Goodbye';
window.setTimeout(outer,3000);
}
function outer() {
alert(message);
}
Это не работает, конечно.
Вопрос в том, есть ли способ передать внутренние переменные внешней функции, подобной этой, вместо добавления их в список параметров?
Благодаря
Обычно данные передаются в функции как аргументы. – zerkms