2013-05-21 1 views
-2

저는 현재 C++의 중심 프로그래밍 클래스의 마지막 1 주일이 채 안되어서 자바 스크립트를 배우고 있습니다. C++i!<10하지만 루프가 멈출 것입니다. 출력이 나올 때부터 계속 JS로 진행할 것이라고 가정하고 있습니다. 9.i = 10, for (i = 0; i <10; i ++)의 경우 출력이 "정의되지 않음"입니까?

후 나는

크롬

의 코드와 출력을 JS 콘솔을 사용하고있어입니다 :

for (i=0; i<10; i++){ 
console.log("This is the number" + i.toString()); 
} 

This is the number0 
This is the number1 
This is the number2 
This is the number3 
This is the number4 
This is the number5 
This is the number6 
This is the number7 
This is the number8 
This is the number9 
undefined 
+10

사용중인 코드를 표시 할 수 있습니까? – Halcyon

+2

제목의 코드에 출력이 없습니다. 사람들이 당신의 질문에 대답하기를 원한다면 당신은 어려움을 겪고있는 실제 코드를 제공해야 할 것입니다. – redtuna

+0

정확하게 위에서 본 내용, Chrome JS 콘솔에서 엉망으로 다루고 있습니다. – gr33kbo1

답변

0

시도 :

for(var i = 0;i < 10;i++){ /*your stuff here*/ } 
코드와 함께 뭔가 잘못

다음은 올바른 방법이며, C 변수 i

+0

여기에는 차이가 없습니다. ReferenceError가 없습니다. "정의되지 않은"것을 설명하지는 않습니다. – user2246674

0

전에 var를 추가 ++와 자바 스크립트 similare되어,이 있어야한다 :

for (i=0; i<10; i++){ 
    console.log(i); 
} 

이것은 jsfiddle

enter image description here

입니다
+0

"undefined"는 어디에서 갔으며 그 이유는 무엇입니까? 그게 무슨 질문에 대한거야 :) – user2246674

3

이 코드를 실행할 때 아무 것도 반환하지 않습니다. 반환되지 않았습니다. 가치와 콘솔은 런타임에서 당신이

This is the number0 
This is the number1 
. 
. 
This is the number9 

같은 출력을 작성하고 코드의

콘솔 쓰기 반환 값 후 여기 정의되지 않은입니다 그 .. 실행 뒤에 코드 및 쇼 반환 값을 평가

1

마지막 undefinedfor 루프의 반환 값이며 반환 값이 없습니다. 콘솔에 무엇인가를 입력하면 그 결과가 출력됩니다. 그리고 내가 말했듯이, for 루프의 결과는 undefined입니다. 콘솔이 퍼팅

봅니다 :

var a = "asdf"; 

undefined를 인쇄해야합니다. 그러나 입력 할 때 :

a 

"asdf"으로 표시됩니다. var 문의 반환 값이 아무 것도 없기 때문입니다.

+0

이상한 행동, 그것은 나도 혼란 스러울 것입니다. for 루프는 아무 것도 반환하지 않고 코드 만 실행합니다. – RobG

0

반환 값은 node.js 대화식 모드 및 기타 많은 최신 자바 스크립트 콘솔과 마찬가지로 Chrome의 JS Console에서 결과 바로 다음에 표시됩니다. 루프와 관련이 없으므로 최종 정의를 무시해야합니다. 9에서 중지됩니다. 나를 믿지 않으면 콘솔 대신 HTML 파일에서 시도하십시오.

메모 : 사용하기 전에 항상 정의되지 않은 변수 앞에 var를 붙여야합니다. 귀하의 예제에서는 먼저 그것을 정의하지 않고 i를 사용합니다. 이렇게하면 변수가 전역 이름 공간에 있고 다른 컨텍스트 나 클래스에있는 다른 인스턴스를 덮어 쓸 수 있습니다.예 :

function foo() { 
    console.log(i); // i => window.i 
} 

function bar() { 
    var i = 0;   // i => window.bar.i 
    console.log(i); 
} 

for (i=0; i<10; i++) { // loop is using window.i because no var declaration 
    console.log(i); // will log 0 to 9 
} 

foo(); // will log 9 
bar(); // will log 0 
관련 문제