考慮到這段代碼:
var x = 3;
var i = 0;
while (i < 3) {
x = 1;
i = 1;
}
println(x);
為什么輸出是6?有人可以為我分解嗎?
我知道 x 將繼續為其值加 1,但為什么 i<3 將其限制為 6?
uj5u.com熱心網友回復:
答案是 6,因為您的 X 初始值為 3。您的 while 回圈中只有 3 次迭代。
i = 0 => x 1 = 4
i = 1 => x 1 = 5
i = 2 => x 1 = 6
i = 3 => exit loop
uj5u.com熱心網友回復:
我會一步一步解釋
while 回圈將取值,而 i 小于 3 對。
X 從 3 開始,i 從 0 開始。
雖然檢查 i < 3。(現在為 0)(x =1 表示 x = x 1(與 i 相同))
我是 0,所以 while 回圈將開始作業。x 將變為 4,我將變為 1。
第二次運行:i 仍然低于 3,因此 while 回圈將繼續作業。
x 會變成 5 我會變成 2
i 仍低于 3,因此 while 回圈將繼續作業 x 將變為 6,我將變為 3
現在 i 等于 3,因此不再低于 3。 While 回圈將停止作業,您將獲得輸出。
但是如果 console.log (x) 在 while 回圈中。您將獲得所有 x 結果。輸出將是:4 5 6
所以,如果你的問題是為什么我只得到 6 作為輸出?這是因為您的函式出現在 while 回圈之后。
uj5u.com熱心網友回復:
進入回圈前:x=3,i=0(i小于3,所以條件為真)
第一步后:x=4,i=1(i小于3,所以條件為真)
第二步后:x=5,i=2(i小于3,所以條件為真)
第三步后:x=6,i=3(i不小于3,所以條件為假)
因為條件為假,所以退出回圈并在輸出中列印 x 的值。
- 此外,在 JavaScript 中沒有定義 println()。我們可以使用console.log()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/530435.html
標籤:javascript循环
