2009-12-10 7 views
6

좋아요. 최근에 JS 질문을 많이 물어 봤는데, 그냥 배워야한다는 것을 깨달았습니다.javascript for() 루프, split() 및 배열 질문

http://www.tizag.com/javascriptT의 튜토리얼은 매우 간단하고 간단합니다.

나는 이것을 정확하게 이해하고 싶습니다. 그것은 그걸 얻기 위해 나에게 동안을했다 :

<script type="text/javascript"> 
var myString = "zero one two three four"; 

var mySplitResult = myString.split(" "); 

for(i = 0; i < mySplitResult.length; i++){ 
    document.write("<br /> Element " + i + " = " + mySplitResult[i]); 
} 
</script> 

-

var myString = "zero one two three four"; 

은 분명히 그 간단한 문자열 변수를 만듭니다.

var mySplitResult = myString.split(" "); 

필자는 delimeter로 ""를 사용하여이를 분할하고이를 mySplitResult 배열에 할당합니다. 옳은? 아니면 배열이 아닌가?

for(i = 0; i < mySplitResult.length; i++){ 

이것은 배열의 값의 수를 말하는 것입니까? 문자열의 실제 길이를 말하는 것처럼 보이지 않습니다.

document.write("<br /> Element " + i + " = " + mySplitResult[i]); 

이것은 단지 mySplitResult [i] 변수 "i"를 반환합니다. 각 루프마다 i가 증가하기 때문에 배열에서 올바른 정보를 가져옵니다.

+8

대답은 "예"입니다. 말할 게별로 없습니다. –

+1

Mozilla 's : https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference 또는 Microsoft 's : http://msdn.microsoft.com/en-us/library/yek4tbz0과 같은 온라인 참조를 사용하여 이와 같은 세부 사항을 확인할 수 있습니다. (VS.85) .aspx – NickFitz

답변

1

분석은 정확하지만 테스트 만하면됩니다. Firefox에서 Firebug 확장 기능을 사용하면 자바 스크립트를 단계별로 실행할 수 있습니다.

이렇게하면 요소의 속성을보고 실제로 일어나는 일을 모니터링 할 수 있기 때문에 상황을 이해하는 데 도움이됩니다.

13

귀하의 이해가 근본적으로 정확합니다. 한 가지해야 할 일은 모든 변수를 선언하는 것입니다. 이것은 함수 내에서 특히 중요합니다. 그래서, 당신은 하나 루프 전에 변수로 i를 선언해야합니다

var i; 
for (i = 0; i < mySplitResult.length; i++) { 

... 또는 for 문에서 첫 번째 표현식의 :

for (var i = 0; i < mySplitResult.length; i++) {