繁体   English   中英

如何获取变量的值?

[英]How to get value of a variable?

我试图找出一个每次运行到变量时加 1 的脚本,然后控制台记录总次数。

for (let i = 1; i <= limitFizzBuzz; i++) {
// Count the FizzBuzzes
let amountOfFizzBuzzes;
amountOfFizzBuzzes = amountOfFizzBuzzes += 1;
console.log(amountOfFizzBuzzes);
}

当我尝试在循环中运行它时,我得到: 在此处输入图片说明

我在这里做错了什么?

首先,第一个问题的一个更简单的版本:

 let num; num += 1; console.log(num);

  • num += 1是正确的语句,它将num的值加1并将结果存储回num

  • console.log(num); 是将num的值写入控制台的正确语句。

  • 但是let num; 没有给出num的起始值。 当一个变量在 JavaScript 中没有被初始化为一个值时,它会得到值undefined undefined数学运算,就好像它是一个数字一样,结果为NaN ,这就是您所看到的。

因此,更简单代码的固定版本为num提供了一个初始值,例如零:

 let num = 0; num += 1; console.log(num);


下一个问题是范围。 如果您在循环内声明一个变量,则每次都是一个新变量。 相反,您希望为每次迭代使用相同的变量,并让它保持其值,因此将声明移到外面:

let amountOfFizzBuzzes = 0;

for (let i = 1; i <= limitFizzBuzz; i++) {
    amountOfFizzBuzzes += 1;
    console.log(amountOfFizzBuzzes);
}

首先你定义一个 var let amountOfFizzBuzzes; 在循环内,如果您需要增加一个数字,那么它应该在循环之外,这是一个正确的方法

let amountOfFizzBuzzes=0;
for (let i = 1; i <=limitFizzBuzz; i++) {
// Count the FizzBuzzes
amountOfFizzBuzzes+= 1;
console.log(amountOfFizzBuzzes);
}

.

.

 //.... limitFizzBuzz = 5; //if you want to start from zero & increment it X times let amountOfFizzBuzzes = 0; for (let i = 1; i <= limitFizzBuzz; i++) { // Count the FizzBuzzes amountOfFizzBuzzes += 1; console.log(amountOfFizzBuzzes); }

@Morrison 是绝对正确的。 只需在 for 循环上方初始化您的amountOfFizzBu​​zzes 即可

let amountOfFizzBuzzes =0;
for (let i = 1; i <= 10; i++) {
// Count the FizzBuzzes
 amountOfFizzBuzzes++;
//amountOfFizzBuzzes +=1;
console.log(amountOfFizzBuzzes);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM