2017-01-03 4 views
-2

코드가 작동하지 않아서 Chrome 콘솔을 사용하여 해결했으며 지금은 while 루프를 실행하면 undefined을 반환합니다.while 루프가 루프에서 아무것도하지 않습니다.

let total = 0; 
let playerTotal = 0; 

while(total >= 10){ 
    if (total >= 10){ 
     if (total > playerTotal){ 
      console.log('total wins') 
     } else if(total == playerTotal){ 
      console.log('tie') 
     } else { 
      console.log('player wins') 
     } 
    } 
    total += 1 
} 
+4

Typo :'total> = 10'은'total <= 10'이어야합니다. – Cerbrus

+0

합계가 10보다 크거나 같지 않으므로 그 값은입니다. 값이 10과 10보다 큰 경우 ... 10,11,12,13을 ... – Fida

답변

0

귀하의 조건이 while (total >= 10)입니다 :

내가 콘솔에 입력 된 코드입니다. total0에서 시작합니다. 0>= 10이 아니므로 루프의 본문이 실행되지 않습니다. 콘솔에 코드를 입력하면 해당 코드의 최종 결과가 표시되므로 undefined이 표시됩니다. while 루프의 결과는 루프 내에서 평가 된 마지막 명령문의 값입니다 ( weird but true). 따라서 몸을 실행하지 undefined 결과 절대 루프 ..

+0

처럼 부끄럽게 생각합니다. –

+0

걱정할 필요가 없습니다. 나는 그것이'정의되지 않은'것을 설명 할 가치가 있다고 생각했다. –

+0

downvote가있는 이유를 잘 모릅니다. 이것은 OP의 문제를 설명하고 질문에 대답하며, 나는 다소 호기심이 많습니다. – Hodrobond

-3
while(total >= 10){ 

변경되어야
while(total <= 10){ 
총 때문에 증가하지 않을 갯수가 0 상태이기 때문에 무한 루프를 실행

그게 논리 문제 of loop는 total = = 10 일 때만 시작됩니다.

관련 문제