[英]Determine an Odd/even Number, And Use While Loop To Add From Counter in Javascript
我不知道为什么有时满足条件后它会停止循环(例如,从前面的位置获取数字的总和)。 我认为代码有问题。 它在哪里?
var init = parseInt(prompt('enter an odd or even no.'));
var sec = init%2;
if (sec != 0) {
var loop = 5;
while (loop < 10) {
var num = 1;
loop += loop;
num += 2
}
document.write(num);
} else {
document.write('None');
}
这是您要做什么? 用var
声明的变量没有块作用域,因此可以在代码的顶部声明所有变量。
var init = parseInt(prompt('enter an odd or even no.')); var sec = init % 2; var loop = 5; var num = 1; if(sec != 0) { while(loop < 10) { num+=2; loop++; document.write(num); } } else { document.write('None'); }
循环正在发生,但是您只是看不到它,因为在循环时您什么都不打印。
您的代码应改为:
var init = parseInt(prompt('enter an odd or even no.'));
var sec = init%2;
if (sec != 0) {
var loop = 5;
while (loop < 10) {
var num = 1;
loop += loop;
num += 2
document.write(num);
}
} else {
document.write('None');
}
看到document.write(num)
现在位于循环内部,因此它将在每次循环时打印。
以前,它是在外部设置的,因此本质上是在最后一次迭代之后才看到结果。
您需要在while
语句之外用1
初始化num
,因为您需要为每个循环分配该值。
我建议在代码顶部先声明所有变量。 您也可以在此处分配已知值。
var init = parseInt(prompt('enter an odd or even no.'), 10), sec = init % 2, loop = 5, num = 1; if (sec != 0) { while (loop < 10) { loop += loop; num += 2; } document.write(num); } else { document.write('None'); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.