2013-02-03 6 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 ...이 과제를 수학 방정식으로 보면, 어떤 값도 그 자체에 1을 더한 값과 같습니다. 하지만 여기서 우리는 수학에 대해 이야기하는 것이 아닙니다. 방정식처럼 보이지만, 이것은 "X의 값을 검색하고, 하나를 추가하고 결과를 X에 저장하는"변수 할당입니다. ' – Stuart

답변

2

x는 루프를 통해 커질 변수입니다.

라인 :

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

단지 (X)의 현재 값의 행 + I + 단부 "수인"라인을 추가한다. 등이 광고의

생각해 루프의 끝에

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

는 X 가치가 모든 :

"수가 번호 수가 2
1
0
이고 수는 수는 4
3
이다 "

만약 대신 X =" "당신했다 X ="안녕하세요 "를 선택한 후 최종 결과는 다음과 같습니다

,515,

는 '안녕하세요 수가 번호 수가 번호가 번호 4
3
인 2
1
0
하다 "

+0

저에 대한 작업을 보여줄 수 있습니까? 나는 그것이 무엇을하는지 이해하지만 왜 그럴까요? x = "" "숫자는"다음 줄 바꿈 어디에서 다시 시작하나요? –

+0

단계별로 살펴 보겠습니다. 처음에는 x = ""입니다. for 루프의 첫 번째 반복 후에 x는 "0이됩니다.
"입니다. 두 번째 루프 반복은 다음과 같습니다. x = "숫자는 0
"+ "숫자는 1
"입니다. 따라서 두 번째 루프 반복 끝에 x = "숫자는 0
입니다. 숫자는 1
"입니다. 세 번째 루프는 다음과 같습니다. x = "숫자는 0
입니다. 숫자는 1
입니다."+ "숫자는 2
"입니다. – GHL

+0

다시 볼 수있는 것처럼 문제가 없습니다 그가 사용하는 @GHL 대답은 당신이 x를 변수에 포함 시켜서 ** 당신이 계속 덧붙이는 모든 텍스트를 포함한다는 것을 이해하게 해줍니다. 당신은 자바 스크립트에서 문자열에 대한 '+'연산자가이 연결 속성을 가지고 있다는 것을 알아야합니다. ** 이것은 이전에 할당 된 텍스트를 제거하지 않고 대체 할 수 없습니다. 단지 –

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

x 지정된 텍스트의 현재 값에 추가하며 x에 다시 저장합니다.

+0

하지만 x = "hello"대신 ""을 지정하면 첫 번째 줄에는 "hello number is is"가 반환되고 이후에는 더 이상 hello가 포함되지 않습니다 –

+0

@Jordan 이것은 x = "Hello "... 그 특정 줄은 FOR/NEXT LOOP 바깥쪽에 있으므로 FOR/NEXT LOOP 안의 텍스트처럼 한 번만 실행됩니다. – Zeddy

관련 문제