代码不适用于更大范围的数字

多格·哈姆迪(Dogus Hamdi)

所以我的问题是,我编写了这段代码,该代码需要两个数字,并写入这些数字之间的所有数字(包括给定的两个数字)。该代码适用于数字4和7,它打印出“ 4 5 6 7”,但是当第二个数字比第一个数字稍大时(例如对于数字6和14),该代码不执行任何操作。如果有人可以向我解释为什么会这样以及我如何解决这个问题,我会很高兴。

function calculate() {
  var start = document.getElementById("number1").value;
  var end = document.getElementById("number2").value;
  var answer = "";
  for (var i = start; i <= end; i++) {
    answer = answer + i + " ";
  }
  document.getElementById("answer2").innerHTML = answer;
}
<input type="number" id="number1">
<input type="number" id="number2">
<button onclick="calculate()">Pokaż</button>
<div id="answer2"></div>

阿莱西奥·坎塔雷利亚(Alessio Cantarella)

value属性返回一个字符串,表示value文本字段属性
为了进行比较startend您需要将它们转换为数字(例如,使用Number原始包装器),否则字符串6将(按字母顺序)大于string 14

function calculate() {
  var start = Number(document.getElementById("number1").value);
  var end = Number(document.getElementById("number2").value);
  var answer = "";
  for (var i = start; i <= end; i++) {
    answer = answer + i + " ";
  }
  document.getElementById("answer2").innerHTML = answer;
}
<input type="number" id="number1">
<input type="number" id="number2">
<button onclick="calculate()">Pokaż</button>
<div id="answer2"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章