JavaScript: если вы хотите проверить, определена ли переменная, можно использовать typeof:
Пример
if(typeof someVar == 'undefined') {
document.write("Переменная someVar не определена");
} else {
document.write("Переменная someVar определена");
}
document.write("Переменная someVar не определена");
} else {
document.write("Переменная someVar определена");
}
Попробуйте »
JavaScript: если вы хотите только проверить, истинно ли значение определённой переменной, можно напрямую использовать следующий метод:
Пример
if (strValue) {
// Код, выполняемый, когда strValue истинно
} else {
// Код, выполняемый, когда strValue ложно
}
// Код, выполняемый, когда strValue истинно
} else {
// Код, выполняемый, когда strValue ложно
}
Попробуйте »
В следующем примере используется метод с регулярным выражением для проверки того, определена ли переменная и не пуста ли она; это сравнительно полный метод:
Пример
if ( // Возвращает определённое значение
(typeof x == 'undefined')
||
(x == null)
||
(x == false) // Аналогично: !x
||
(x.length == 0)
||
(x == 0) // Здесь проверяется 0; не нужно специально его удалять
||
(x == "")
||
(x.замена(/\s/g,"") == "")
||
(!/[^\s]/.test(x))
||
(/^\s*$/.test(x))
) {
document.write("Переменная не определена или пуста");
}
(typeof x == 'undefined')
||
(x == null)
||
(x == false) // Аналогично: !x
||
(x.length == 0)
||
(x == 0) // Здесь проверяется 0; не нужно специально его удалять
||
(x == "")
||
(x.замена(/\s/g,"") == "")
||
(!/[^\s]/.test(x))
||
(/^\s*$/.test(x))
) {
document.write("Переменная не определена или пуста");
}
Попробуйте »
Вы также можете инкапсулировать метод для проверки, охватывающий null, 0, false и т. д., подходящий для определённых переменных:
Пример
function empty(e) {
switch (e) {
case "":
case 0:
case "0":
case null:
case false:
case undefined:
return true;
default:
return false;
}
}
empty(null) // true
empty(0) // true
empty(7) // false
empty("") // true
empty((function() {
return ""
})) // false
switch (e) {
case "":
case 0:
case "0":
case null:
case false:
case undefined:
return true;
default:
return false;
}
}
empty(null) // true
empty(0) // true
empty(7) // false
empty("") // true
empty((function() {
return ""
})) // false
Попробуйте »