2017-08-05 27 views
-6

我試圖瞭解W3schools演示使用「For」循環的方式。從我的角度來看,它看起來凌亂當變量的聲明內聲明的,而外面,像這樣:聲明變量外循環不工作在JavaScript

var i = 0; 
for (statement) { 
code } 

由於一些沒有看到與我提出的代碼有什麼區別,我想通ID後它作爲一個代碼段。這是我在循環外定義的var版本。

<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 
<h2>JavaScript Loops</h2> 
 

 
<p id="demo"></p> 
 
<script> 
 
var text = ""; 
 
var i = 0; 
 
for (i < 5; i++) { 
 
    text += "The number is " + i + "<br>"; 
 
} 
 
document.getElementById("demo").innerHTML = text; 
 
</script> 
 

 
</body> 
 
</html>

<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 
<h2>JavaScript Loops</h2> 
 

 
<p id="demo"></p> 
 
<script> 
 
var text = ""; 
 
var i; 
 
for (i = 0; i < 5; i++) { 
 
    text += "The number is " + i + "<br>"; 
 
} 
 
document.getElementById("demo").innerHTML = text; 
 
</script> 
 

 
</body> 
 
</html>

+0

這是工作的罰款。你的問題是什麼 ? –

+0

「_But但是這樣寫不工作_」那麼,當我點擊運行它工作得很好,所以我不知道你的意思是... – csmckelvey

+0

我檢查了在W3學校for循環的例子,是一樣的你寫的那個。 'var i = 0'可以放在聲明裏面或 –

回答

1

作爲每MDN

爲([初始化]; [條件]; [最終表達式]) 語句

您總是需要在for循環的第一個參數中進行初始化。

您可以在外面聲明的變量,但你仍然需要在循環中再初始化它:

for (i = 0; i < 5; i++) { ... } 

所有需要三個參數([initialization]; [condition]; [final-expression]

+0

這是因爲for循環的運行方式與while相同嗎?它需要一個條件才能運行?我認爲這已經足夠好了,例如: (條件){ } – Normar