2014-01-26 4 views
0

죄송합니다, 전 아직 여기 새로 왔습니다. 나는 여기서 내 실수가 어디 있는지 알고 싶다. 내 else 문이 작동하지 않습니다. 하지만 if 문은 작동합니다. 내 조건문이 맞지 않아도 모든 변수가 정확하다고 가정 할 수 있습니다. 도움이 필요해. 여기 붙어있어.javascript의 else 문이 작동하지 않는 경우 only in else statement

예상 결과 :

내 선택에 13 가지 옵션을 추가해야합니다. 하지만 if 문이 끝나고 else 문이 변수 hr1을 인수하면 프로세스가 중지되고 건너 뜁니다. 옵션은 추가되지 않습니다. 예를 들어

:

hr1 = 9 
convertedVar = 20 

-> 조건이, if(hr1 <= convertedVar) 만족하고 다른 건너 뛸 때 그것은 단지 옵션을 추가합니다.

도와 주셔서 감사합니다.

if(a==mod) 
{ 
    for(i = 0; i <= 13 ; i++) 
    { 
     if(hr1 <= convertedVar) 
     { 
     document.getElementById('timeId').options[i] = new Option('---',''); 
     hr1++; 
     hr2++; 
     } 
     else 
     { 
     document.getElementById('timeId').options[i] = new Option(h1++ + ':00', hr2++ + ':00'); 
     } 
    } 
} 
+0

어떻게 hr1 및 convertedVar가 할당 되었습니까? btw, 다른 사람은 hr1 ++가 아니라 h1 ++을하고 있습니다. – Sumit

+0

"내 조건문은 올바르지 않지만 내 모든 변수가 정확하다고 가정 할 수 있습니다."- 나는 그렇게하지 않을 것입니다. 먼저 * 확인해야합니다. http://www.youtube.com/watch?v=wg4trPZFUwc –

+0

++ (증가) 및 - (감소) 연산자는 과도한 교묘 함을 장려함으로써 나쁜 코드에 기여하는 것으로 알려져 있습니다. 바이러스 및 기타 보안 위협을 가능하게하는 데있어 아키텍처의 결함에 이어 두 번째입니다. 또한 사전 증가/사후 증가 혼동은 진단하기가 매우 어려운 off-by-one 오류를 생성 할 수 있습니다. – Dalorzo

답변

0

이 뒤에 논리에 대해 많이 알고 있지만이 나에게 오타 것 같습니다하지 마십시오 : h1는 알 수없는 경우

.... s[i] = new Option(h1++ + ':00', hr2 .... 
//     h1 or hr1 ?? 

대신 변수 hr1 의 변수 h1를 증가됩니다 이때 루프가 멈 춥니 다. 이것이 설명 된 동작이므로, 99 %는 이것이 오타 (오타)라는 것을 확신합니다.

+0

document.getElementById() .options [] = 새로운 옵션 (, ); 여기는 형식입니다. – chrischan30

관련 문제