Я пытаюсь изучить JavaScript, просмотрев какой-то код в приложении, и я продолжаю видеть !variable
в условиях if. Например:
if (!variable.onsubmit || (variable.onsubmit() != false)) {
Что это? Какой-то тест, если переменная пуста?
Я пытаюсь изучить JavaScript, просмотрев какой-то код в приложении, и я продолжаю видеть !variable
в условиях if. Например:
if (!variable.onsubmit || (variable.onsubmit() != false)) {
Что это? Какой-то тест, если переменная пуста?
!
является логическим не оператором в JavaScript.
!expression
читается как:
expression
и оцените его. В вашем случае variable.onsubmit
onsubmit
, скорее всего, является функцией, это означает - если функция undefined - возвращает false, в противном случае вернет true.В вашем случае !variable.onsubmit
означает return true, если функция не определена (и, следовательно, является ложью), в противном случае возвращает false (поскольку существует определенная функция).
Проще говоря - !variable
означает значение истины variable
и отрицает его.
Таким образом, if (!variable) {
войдет в предложение if
, если переменная false
(или принуждает к false)
if (!variable.onsubmit || (variable.onsubmit() != false)) {
Средство - проверить, определено ли variable.onsubmit
и правдиво (истинно), тогда он проверяет, возвращает ли вызов onsubmit
результат, который приводит к истинному. В короткой строке он проверяет, нет ли onsubmit
или он возвращает true.
Это оператор отрицания, используемый для проверки истинности переменной.
var myVariable = 1;
if ( ! myVariable )
{
// myVariable evaluates as false
}
if ( myVariable )
{
// myVariable evaluates as true
}