2014-09-30 204 views
0
var prompt1 = prompt("Number Here"); 
var something2 = prompt("Increment Here"); 
for (var i = 5; i <= prompt1; i += 5) { 
    alert(i); 
} 

http://jsfiddle.net/davidhin/wte7d5k9/for循环和变量

为什么,当我改变i += 5i += something2, 代码停止工作?

+0

你的小提琴与你的问题有什么关系?你需要澄清你的问题,包括更多的解释,你正在做什么,你想在你的文章中完成什么。 – kinakuta 2014-09-30 08:00:02

回答

6

因为something2是字符串。用于for循环Number(something2)转换为Number。

1

提示符是接收到一个字符串值,而不是int值。想象一下,如果有人提示“你好”和“世界”,会发生什么?

所以你应该做的那些步骤:

1 /。将值解析为int数据类型。

2 /。验证数据类型。

例如:

 var promptVal = parseInt(prompt1); // return NaN (not-a-number) if input isn't number. 
     if(isNaN(prompVal)) { 
     return error; 
     } 

现在你可以运行for循环正常。

+0

第二个更可读,更有意义(对我来说) – Baldrickk 2014-09-30 10:06:59

+0

是的,第一个是错误的,我删除了:)。 – Kai 2014-09-30 17:05:02