【问题标题】:How do I save the value of a variable on each loop so I can use those values later如何在每个循环上保存变量的值,以便以后可以使用这些值
【发布时间】:2018-01-26 18:46:52
【问题描述】:

我是一个初学者,所以请原谅我缺乏知识。

我有一个代码执行了几次,变量的值是由用户通过提示给出的。有没有办法在每个循环上存储这个值并在循环结束时显示它。有什么我应该使用的元素吗?

谢谢。

var ran = Math.floor(Math.random() * 60) + 1;
var ngs = 9;
var guess = prompt("what's your guess?");

while (ngs > 0) {
  if (guess < ran) {
    var guess = prompt("nope, that was too low. you have " + ngs + " attempts left. guess again");
    ngs = ngs - 1;
  } else if (guess > ran) {
    var guess = prompt("nope, that was too high. you have " + ngs + " attempts left. guess again.");
    ngs = ngs - 1;
  } else if (guess == ran) {
    alert("gj. you win. your guesses were: ");
  }
}
alert("no more attempts. you lose. your guesses were: ");

我最终需要警报来显示用户所做的猜测。

【问题讨论】:

  • 欢迎来到SO,请分享Minimal, Complete, and Verifiable example
  • 欢迎来到 StackOverflow!当您提出问题时,我们需要的基本信息是:代码(您尝试过的内容)、您尝试执行的操作/遇到的任何错误或问题的说明以及预期结果
  • 推入数组?将其写入字符串?很多选择,一切都取决于结果。也许如果你展示你目前拥有的东西,人们可以更好地帮助你。
  • 它们被称为“变量”。您希望我们推荐一个基本的 javascript 教程吗?
  • 我添加了代码。我知道这是一场灾难,但请与我同在。

标签: javascript loops variables


【解决方案1】:

epascarello 在上面的评论中是正确的。我个人建议将其写入字符串,但推送到数组也可以。

字符串方法

var ran = Math.floor(Math.random() * 60) + 1;
var ngs = 9;
var guess = prompt("what's your guess?");
var guesses = ""

while (ngs > 0) {
  if (guess < ran) {
    var guess = prompt("nope, that was too low. you have " + ngs + " attempts left. guess again");
    ngs = ngs - 1;
    guesses += guess + ' ';
  } else if (guess > ran) {
    var guess = prompt("nope, that was too high. you have " + ngs + " attempts left. guess again.");
    ngs = ngs - 1;
    guesses += guess + ' ';
  } else if (guess == ran) {
    alert("gj. you win. your guesses were: " + guesses);
  }
}
alert("no more attempts. you lose. your guesses were: " + guesses);

数组方法

var ran = Math.floor(Math.random() * 60) + 1;
var ngs = 9;
var guess = prompt("what's your guess?");
var guesses = []

while (ngs > 0) {
  if (guess < ran) {
    var guess = prompt("nope, that was too low. you have " + ngs + " attempts left. guess again");
    ngs = ngs - 1;
    guesses.push(guess);
  } else if (guess > ran) {
    var guess = prompt("nope, that was too high. you have " + ngs + " attempts left. guess again.");
    ngs = ngs - 1;
    guesses.push(guess);
  } else if (guess == ran) {
    alert("gj. you win. your guesses were: " + guesses.join(' '));
  }
}
alert("no more attempts. you lose. your guesses were: " + guesses.join(' '));

【讨论】:

  • 您的示例中嵌入了enter code here,并且您的alert 函数调用缺少右括号。
【解决方案2】:

跳过 if/else 中guess 变量的重新声明。其次,您可以查看以下链接以了解 Array 类的描述。 Javascript Array

【讨论】:

  • 欢迎堆栈溢出。请花点时间阅读How to Answer 页面。值得注意的是,请quote the most relevant part of an important link 并注意完整的解释更有用。
猜你喜欢
  • 2014-01-01
  • 1970-01-01
  • 2012-12-04
  • 1970-01-01
  • 2022-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多