Почему javascript (jquery), если операторы не работают, как операторы php if? И что такое решение?

0

Код JavaScript

var a = 0;//remove latter
var b = 1;

if (a > 0) {
alert ("a > 0");
}

if (b > 0) {
alert ("b > 0");
}

все работы (alert ("b > 0");).

Но если удалить var a = 0; , затем второй, if не работает.

Итак, вывод, если для первого, if нет переменной, тогда второй, if не работает.

Что такое решение? Всегда задавать переменные javascript - jquery? Например, если нет var a, тогда var a = 0 ;?

Теги:
if-statement

4 ответа

2
Лучший ответ

Если переменная не объявлена, javascript выдает ReferenceError, поэтому любая переменная, которая будет использоваться при оценке javascript, должна быть объявлена.

Это бахавиус согласно спецификации, которая гласит:

Если IsUnresolvableReference (V), выведите исключение ReferenceError.

Итак, да, переменные должны быть объявлены как var a, b хотя они не инициализированы никаким значением.

3

Если вы удаляете переменную, javascript сталкивается с ошибкой (ReferenceError), поэтому он не будет выполнять оставшуюся часть кода.

2

Причина, по которой это не работает, состоит в том, что у вас больше нет a переменной, и вы нарушаете javascript с неопределенной переменной. Если вы удалите

if (a > 0) {
alert ("a > 0");
}

остальная часть кода должна работать.

2

Если удалить определение a переменной, вы получите сообщение об ошибке:

ReferenceError: a is not defined

и ваш скрипт будет остановлен.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню