2013-02-03 38 views
0
<!DOCTYPE html> 
<html> 
<body> 

<p>Click the button to loop through a block of code five times.</p> 
<button onclick="myFunction()">Try it</button> 
<p id="demo"></p> 

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

</body> 
</html> 

我明白它是什麼回報,但我不明白每個語句前的x。爲什麼x之前+「的數字是」

x = x + "The number is " + i + "<br>"; 
+0

我認爲這可能有助於http://en.wikiversity.org/wiki/Introduction_to_Programming/Variables#Variables - 'X = X + 1 ...將這項任務看作一個數學方程,它絕對沒有任何意義 - 沒有價值等於自己加上一個。但我們不是在這裏談論數學。雖然它看起來像一個等式,但它是一個變量賦值,它指出「檢索X的值,添加一個值,並將結果存回X.」 ' – Stuart

回答

2

x是一個將在循環中增長的變量。

線:

x = x + "The number is " + i + <br> 

只是追加線 「的數爲」 + I +線 的端x的電流值。

認爲這行的:

var y = x + "The number is " + i + <br> 
x = y 

在循環結束時,x是值得所有:

「的數目是0
數目是1
數量爲2
數爲3
數爲4

相反,如果爲x =‘’,你有X =‘你好’,那麼最終的結果將是:

「你好,編號爲0
數目是1
數量爲2
數爲3
數爲4

+0

你能爲我展示這件作品嗎?我明白它的作用,但爲什麼? x =「」「號碼是」然後我然後換行 它在哪裏重新啓動? –

+0

讓我們一步一步:在開始時,x =「」。在for循環的第一次迭代之後,x值「該數字是0
」。第二次循環迭代確實:x =「該數字是0
」+「該數字是1
」。因此,在第二次循環迭代結束時,x =「該數字是0
該數字是1
」。第三個循環會執行:x =「該數字是0
數字是1
」+「數字是2
」,依此類推...... – GHL

+0

這不是它重新啓動的問題,正如您在@GHL回答他使用「」來讓你理解,x變成了一個變量,**包含**所有你繼續追加的文本。你應該知道javascript中字符串的'+'運算符具有這種串聯屬性,這就是說,你**不會**消除先前分配的文本,沒有替換,只是追加:) –

0
x = x + "The number is " + i + "<br>"; 

追加到的x指定的文本的當前值和將其存儲回x。

+0

但是如果我指定x =「hello」而不是「」,那麼它只在第一行返回「hello the number is」,之後它不再包含hello –

+0

@Jordan這是因爲如果你寫了x =「Hello 「... 該特定行在FOR/NEXT LOOP之外,因此它只能被執行一次,而不會像TEXT內部的FOR/NEXT LOOP一樣被執行多次 – Zeddy

相關問題