我是一個javascript新手,試圖圍繞這段代碼考慮一下。 我在這裏得到了http://brackets.clementng.me/post/24150213014/example-of-a-javascript-closure-settimeout-inside這是一個立即調用的函數表達式嗎?
我還是很難理解它。因爲它涉及一些我不熟悉的模式。
// output 0-9, seperated by 1 sec delay.
for (var i = 0; i < 10; i++) {
setTimeout(function(x) {
return function() {
console.log(x);
};
}(i), 1000*i);
}
(i)在這段代碼中的含義是什麼?
function(x) {
return function() {
console.log(x);
};
}(i)
我認爲這是一個立即調用的函數表達式。 但沒有爲正確的語法是:
(function() {
// some code
})();
如果有人在這裏感興趣的是對相同代碼的另一種解釋。 http://stackoverflow.com/questions/12930272/javascript-closures-vs-anonymous-functions?rq=1 –