Javascript если предложение не будет работать - PullRequest
1 голос
/ 19 февраля 2012

У меня проблемы с функцией 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 ]

4 голосов
/ 19 февраля 2012
if (active == 0) {

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

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

if (active = 0) {

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

if (active = 1) {

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

2 голосов
/ 19 февраля 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...