[英]Why does this codes stuck and doesn't work (javascript)
這個簡單的代碼使我發瘋。 它不適用於任何瀏覽器或JSFiddle。 該頁面無法響應,並被卡住。
https://jsfiddle.net/dckkj4uu/6/
HTML:
<html>
<head>
<title>Page Title</title>
</head>
<body>
<p>
First number:<br>
<input type="number" id="fir">
<br>
Second number:<br>
<input type="number" id="sec">
<br>
Increment:<br>
<input type="number" id="inc">
<br>
</p>
<button id="btn">Click</button>
</body>
</html>
JS:
document.getElementById("btn").addEventListener("click", me);
var first = document.getElementById("fir");
var f = first.value;
var second = document.getElementById("sec");
var s = second.value;
var inc = document.getElementById("inc");
var ic = inc.value;
var str = "";
function me(){
for(var i=f; i<=s; i=i+ic){
str+=i;
}
return document.write(str);}
它總是崩潰
編輯: JSlint說沒有錯誤
如果在事件處理程序外部調用initialize'f = first.value',則不會為f分配任何值,因為代碼是在加載頁面時執行的,而不是在單擊Submit按鈕之后執行的。 “ s”和“ ic”也是如此。
這應該可以解決問題:
function me(){
var f = parseInt(first.value);
var s = parseInt(second.value);
var ic = parseInt(inc.value);
for(var i = f; i <= s; i = i + parseInt(inc.value)) {
str += i;
}
return document.write(str);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.