var i = 100;
function gamePlay() {
while(i >= 0) {
if (i>0) {
console.log(i);}
else{console.log(**i 1**);}
i--;
}
}
當我將 i 增加 1 時(代碼中的粗體部分),我想讓該更改發生在本地。其余代碼應使用全域 i,但問題是更改適用于全域,當我將 1 添加到 i 時,其余代碼停止作業。即使我在關閉 while 回圈之前減去 1 也是如此。
uj5u.com熱心網友回復:
嘗試這個:
var i = 100;
function gamePlay() {
let i2 = i; // local variable
while(i2 >= 0) {
if (i2 > 0) {
console.log(i2);
}
else {
console.log(i2 1);
}
i2--;
}
}
uj5u.com熱心網友回復:
當您在函式中宣告變數時,它們是該特定函式的本地變數,但是當您在函式外部宣告時,它們是全域的,可以在任何函式中使用。在您的情況下, var i = 100 是全域的,可以在任何函式中使用。所以你需要在 while 塊內宣告另一個變數。
uj5u.com熱心網友回復:
只需使用該變數的名稱即可。
在 JavaScript 中,如果變數是函式的引數,或者您通過在變數名稱前鍵入 var 關鍵字將它們顯式宣告為區域變數,則變數僅對函式是區域的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/496433.html
標籤:javascript
上一篇:JetpackComposeFragmentonCreate問題
下一篇:Vue:帶有條件的V-if
