0
私は発電機をリアしようとしていますが、それに入る前に、私は、これはイテレータオブジェクトはどのようにJavaScriptの位置を追跡しますか?
function makeIterator(array){
var nextIndex = 0;
return {
next: function(){
return nextIndex++
}
}
}
var it = makeIterator([1,2,3,4]);
なぜそれがit.next()
リターン1
と別のit.next()
戻り2
ことでどのように動作するか/理由を知りたいです。それはどのように知っていますか?
舞台裏での動作を確認する方法はありますか?
最初に 'it.next()'を呼び出すと、0ではなく1になり、渡された配列の内容とは無関係であることに注意してください。 –
これはクロージャーに関連しています。この投稿を読んで、それは大丈夫です:http://stackoverflow.com/questions/111102/how-do-javascript-closures-workそれは私がjavascriptを永遠に見る方法を変更しました。 – Dellirium