我是一个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 –