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

Doğ*_*mdi 3 html javascript

所以我的问题是我写了这段代码,它接受两个数字并写出这些数字之间的所有数字(包括给定的两个数字)。该代码适用于数字 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;
}
Run Code Online (Sandbox Code Playgroud)
<input type="number" id="number1">
<input type="number" id="number2">
<button onclick="calculate()">Poka?</button>
<div id="answer2"></div>
Run Code Online (Sandbox Code Playgroud)

Ale*_*lla 5

value属性返回一个字符串,表示value文本字段的属性值。
要进行比较startend您需要将它们转换为数字(例如使用Number原始包装器),否则字符串6将(按字母顺序)大于字符串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;
}
Run Code Online (Sandbox Code Playgroud)
<input type="number" id="number1">
<input type="number" id="number2">
<button onclick="calculate()">Poka?</button>
<div id="answer2"></div>
Run Code Online (Sandbox Code Playgroud)