2014-09-30 199 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