2012-02-19 2 views
1

전역 변수를 고려해야하는 javascript 함수에 문제가 있습니다.Javascript if 절이 작동하지 않습니다.

구현하고자하는 제어 메커니즘과 비슷하지만 제대로 구현할 수 없습니다. 나는 다른 아무것도하지 않고 SetStartTime를 호출 할 때

는 여기에 내가 항상 경고를 얻을, 관련 코드

<script type="text/javascript"> 
var active = 0; 

function SetEndTime(lngOpenPersonID,lngToDoID){ 
if(active = 0){ 
    alert('Time has been stopped'); 
} 
else{ 
    var strURL = 'blabla'; 
    CallAJAXURL(strURL); 
} 
active = 0; 
} 
function SetStartTime(lngToDoID,lngToDoItemID,bitCountsForTotal){ 
if(active = 1){ 
    alert('Time has been started'); 
} 
else{ 
    var strURL = 'blabla'; 
    CallAJAXURL(strURL); 
} 
active = 1; 
} 

입니다. 구문에 문제가 있습니까?

답변

2

하지 (alert = 1) .. 그 (alert == 1)은 .. 당신의 상태를 말한다 그것의 항상 true - 1

로 할당 경고
4
if (active == 0) { 

당신은 비교 연산자를 만들기 위해 2 "="문자가 필요합니다. 유형 승격없이 동등 비교를 수행하는 ===도 있습니다.

할당 작업이 유효한 표현이므로 코드가 구문 상 정확합니다. 첫 번째 if 문은 당신이 가지고 : 식의 값이 항상 0이기 때문에

if (active = 0) { 

true 수 없을 것입니다. 두번째 것 : 항상 값이 1이기 때문에 항상 true입니다.

관련 문제