用于循环统计从0到一个数字的整个数字javascript

问题描述:

我有一个0-5的html选择列表。我从列表中选择一个数字,例如4,我想让程序吐出5.因为0,1,2,3,4是5个数字。目前我的循环只是将数字添加到15.我的for循环中的逻辑有些问题。用于循环统计从0到一个数字的整个数字javascript

document.getElementById('go').onclick = function() { 
var topValue = document.getElementById('number').value; 
topValue = parseFloat(topValue); 
number = 0; 
for (n = 0; n <= topValue; n++) { 
    number = number + n; 
}; 
document.getElementById('result').value = number; 
}; 
+0

“我的for循环中的逻辑有什么问题”是什么意思?你能提供一个最小可重现的例子(plunker/jsfiddle)吗? –

+4

也许我的阅读不正确,但是你不想只是'topValue + 1'呢? –

我不知道我是否正确地得到了你的疑问,但我会尽力帮助:

这是发生,因为您要添加的变量“n”变量“数”的价值...

for循环接收三件事(basicly /简体):

  • 起始值
  • 最大值(在哪里停止,我们ually当条件为真)
  • 其“速度”(计数器将有多大增加或减少)

你的循环执行时topValue为4:

  1. 执行1:号码执行3:number =(number + n)=>(0 + 0)= 0
  2. 执行2:number =(number + n)=>(0 + 1)= 1
  3. 执行3: =>(1 + 2)= 3
  4. 执行4:数=(数+ N)=>(3 + 3)= 6
  5. 执行5:数=(数+ N)=>(6 + 4)= 10

如果只想计数多少个零的数字(含)之间存在和topValue你就必须把这个你的循环中:

number++; 

如果我理解正确的话,你不需要一个循环。它总是比选择的数字多一个。

document.getElementById('go').onclick = function() { 
    var topValue = document.getElementById('number').value; 

    topValue = parseFloat(topValue); 

    document.getElementById('result').value = number + 1; 
};