JavaScript
JavaScript. Как проверить, была ли определена переменная?
Можно ли сделать проверку без использования try/catch, ведь если переменная не была определена, то я получаю ошибку Uncaught ReferenceError: x is not defined?
Вообще-то это диагноз, пытаться использовать переменную, которая не определена. Другое дело проверить перед объявлением нет ли уже переменной с таким же именем. С тех пор, как стандартом определено для использования объявления ключевых слов let и const, в использовании var нет никакой необходимости и незачем выполнять проверку, так как дважды в одном пространстве имён повторное объявление невозможно. typeof даст одинаковый результат как для не инициализированной переменной, так и для не объявленной. Проверка на undefined возможна только в случаях с использованием ключевого слова var в предполагаемом пространстве имён. JavaScript может позволить себе объявить и одновременно инициализировать переменную без использования ключевых слов. В этом случае вы создадите поле глобального объекта, то есть объекта window. undefined не является ключевым словом и его в нестрогом режиме можно переопределить с использованием ключевого слова var (и за что получить канделябром по голове). Кроме того переменная может хранить ссылку на несуществующий объект, то есть null, что также даст вам false. А также переменная может хранить значение NaN, которое означает что присваиваемое значение не число, и которое не равно даже самому себе, и которое typeof определит как тип "number" (вывих мозга – это то, что автор языка преследовал при его создании). Так что используйте строгий режим, let, const и Debugger, и флаг вам в руки :)
С 1 Мая!
С 1 Мая!
window['xxx']===undefined&&alert('Ну нет такой переменой !!!')
Похожие вопросы
- JavaScript как правильно присвоить дату в переменную?
- глобальные/локальные переменные в JavaScript
- Целесообразно ли хранение синтаксиса javascript в переменной?
- Помогите с JavaScript (локальные/глобальные переменные/функции)
- Видимость переменной JavaScript
- Как удалить переменную в javascript ?
- Javascript, как быть с переменными?
- Вопрос по типу переменной на javascript
- Как в JavaScript проверить правильность введенного символа?
- как проверить в двух больших массивах всё на наличие того же самого в другом. javascript