Чтобы избежать возможных ошибок в JavaScript — иногда нужно ставить такие проверки.
К сожалению в JavaScript нету такой замечательной функции как isset() в PHP. Но всё не так плохо.
Проверить существует ли «глобальная» переменная в JavaScript можно следующим образом:
if(typeof myVar == "undefined") {
alert("Переменная myVar неопределена");
}
Обратите внимание, что так было бы некоректно:
if(myVar == undefined) {
alert("Переменная myVar неопределена");
}
Слово «глобальная» в кавычках, потому, что переменная не является глобальной, а является просто свойством объекта window, который по иерархии выше остальных обьектов.
По-этому если нам нужно проверить имеет ли некоторый объект некоторое свойство — нам нужно написать следующим образом:
var myObject = {};
if(typeof myObject.myProperty == "undefined") {
alert("У объекта myObject нету свойства myProperty");
}
Похожим способом можно проверять все ли параметры переданы некоторой функции, и при необходимости задавать им некоторые значения по умолчанию:
var showMyName = function(myName) {
if(typeof myName == "undefined") {
var myName ="Незнакомец";
}
alert(myName);
};
Если вызвать функцию showMyName() без параметров, то мы увидим сообщение «Незнакомец» вместо javascript-ошибки.