2012-02-19 5 views
1

У меня возникают проблемы с функцией javascript, которая должна учитывать глобальную переменную.Javascript, если предложение не будет работать

Это своего рода механизм управления, который я хотел бы реализовать, но я не могу понять, что это правильно.

Вот соответствующий код

<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; 
} 

Когда я звоню SetStartTime, не делая ничего другого, я всегда получаю предупреждение. Что-то не так с моим синтаксисом?

ответ

2

его не (alert = 1) .. его (alert == 1) .. ваше состояние говорит, что его всегда верно - ваше назначение оповещения 1

4
if (active == 0) { 

Вам нужно "=" символы, чтобы оператор сравнения. Также есть ===, который выполняет сравнение равенства без поощрения типа.

Ваш код синтаксически корректен, поскольку операция присваивания является допустимым выражением. Первый if заявление нужно было:

if (active = 0) { 

никогда не будет true, потому что значение выражения всегда равна нулю. Второй один:

if (active = 1) { 

наоборот всегда true, потому что значение всегда один.

Смежные вопросы