2013-02-11 2 views
0

Я хочу знать, как я могу это сделать?Как объявить переменные для другой функции, не передавая ее в качестве аргумента другой функции?

например.

function get() { 
    alert(s); 
} 
function declare() { 
    var s = "Blah"; 
    get(); 
} 

Но я получаю это s is not defined.

Я знаю, что мы можем сделать, передав его как аргумент, а также установив его как глобальную переменную, но как без них?

+2

закрытия! на благо человечества –

ответ

1

Вы можете использовать замыкание:

function declare() { 
    var s = "Blah"; 
    function get() { 
     alert(s); 
    } 
    get(); 
} 
+0

Я знаю о закрытии, но что 'get()' является только предполагаемой функцией, например. Но в моем случае это событие загрузки. –

+0

Ну, я думаю, я ответил на вопрос, который вы задали. Может быть, вы хотите попробовать новое сообщение с вашей реальной проблемой? –

+0

ОК я обновляю свой вопрос. –

Смежные вопросы