[英]How do I make changes to a local variable without changing the global variable in javascript?
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 也是如此。
嘗試這個:
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--;
}
}
當您在函數中聲明變量時,它們是該特定函數的本地變量。 但是當你在函數之外聲明它們時,它們是全局的並且可以在任何地方使用。
在您的情況下, var i = 100
是全局的,可以在任何函數中使用。 因此,您需要在while
塊中聲明另一個變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.