有人能爲我澄清這一點嗎?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 2015-03-19 07:17:29