用于循环统计从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;
};
答
我不知道我是否正确地得到了你的疑问,但我会尽力帮助:
这是发生,因为您要添加的变量“n”变量“数”的价值...
for循环接收三件事(basicly /简体):
- 起始值
- 最大值(在哪里停止,我们ually当条件为真)
- 其“速度”(计数器将有多大增加或减少)
你的循环执行时topValue为4:
- 执行1:号码执行3:number =(number + n)=>(0 + 0)= 0
- 执行2:number =(number + n)=>(0 + 1)= 1
- 执行3: =>(1 + 2)= 3
- 执行4:数=(数+ N)=>(3 + 3)= 6
- 执行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;
};
“我的for循环中的逻辑有什么问题”是什么意思?你能提供一个最小可重现的例子(plunker/jsfiddle)吗? –
也许我的阅读不正确,但是你不想只是'topValue + 1'呢? –