我試着學習JavaScript,因此我嘗試下面的代碼:JavaScript回調沒有改變範圍?
function repeat(n, action) {
for (var i = 0; i < n; i++) {
action();
}
}
function benchmark() {
var start = [], end = [], timings = [];
repeat(1000, function() {
start.push(Date.now());
// Repeat something
end.push(Date.now());
});
for (var i = 0; i < end.length; i++) {
timings[i] = end[i] - start[i];
}
return timings;
}
我現在的問題:我爲什麼可以訪問開始和結束在我的回調?據我瞭解,範圍從基準改爲重複。回調是閉包還是閉包在另一個函數中定義的命名函數?
謝謝!
http://stackoverflow.com/questions/111102/how-do-javascript-closures-work – Mik378
請閱讀:http://stackoverflow.com/questions/111102/how-do-javascript-closures-work – Pawel
@Pawel可能重複我的評論;);) – Mik378