[英]How do JavaScript for-loop work with a variable
我是 JavaScript 的新手,有些東西我很難理解……
for(var i = 0; i < 3; i++) {
console.log(i)
}
console.log(i);
這是一段代碼,當我看到這個時,我馬上就認為輸出會是這樣的,
//0
//1
//2
//2
由於 for 循環最多計數 2 並將變量保留為 2,我認為如果我在 for 循環之后將其注銷,output 將為 2。 但是 output 與我的預期不同..(而不是 2,當它在 for 循環之后記錄時會吐出 3)
//0
//1
//2
//3
我閱讀了幾篇文章,他們確實解釋了變量的 scope 是全局的,但我仍然不明白為什么我得到 3 作為 output。
(我讀過的一篇文章: https://www.freecodecamp.org/news/thrown-for-a-loop-understanding-for-loops-and-timeouts-in-javascript-558d8255d8a4/ )
非常感謝您的幫助,在此先感謝。
想一想,如果i
是2
那么循環仍然會運行,因為2 < 3
。 在這個循環結束時i = 2
它將使用i++
,因此i
現在是3
。 現在條件失敗,因為3 < 3
是假的,所以它退出了。 因此i
仍然是3
。
3
是i
上第一個中止循環的數字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.