【发布时间】:2015-07-22 04:15:10
【问题描述】:
我是一个 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
})();
【问题讨论】:
-
如果有人对此感兴趣,是对相同代码的另一种解释。 stackoverflow.com/questions/12930272/…
标签: javascript function closures