2015-04-14 4 views
-1
if (document .getElementByid('header')) 
    // Found: do something 
} else { 
    // Not found: do something else 
} 

В «JavaScript и JQuery: Интерактивное Front-End Веб-разработка» Джоном Duckett написано:Где унарный оператор и операнд здесь?

Поскольку наличие объекта или массива можно считать truthy, он часто используется для проверки для существования элемента внутри страницы.

Унарный оператор возвращает результат только с одним операндом. Здесь вы можете увидеть оператор if, проверяющий наличие элемента. Если элемент найден, результат является правдивым, поэтому выполняется первый набор кода. Если он не найден, вместо этого выполняется второй набор.

Является ли писатель означает, что ключевое слово if считается унарным оператором, а document.getElementById('header') является операндом?

+0

Я не вижу унарного оператора. Примером унарного оператора будет 'var1 = -var2',' -' является унарным оператором, который отрицает его операнд. – Barmar

+0

Я думаю, что автор означает 'getElementById()', но это метод, а не оператор. – 1010

+0

Независимо от того, что имел в виду автор, кажется, что он идеосинкратический. – Barmar

ответ

-1

Оператор является if, операнд (на котором оператор работает) в этом случае document .getElementByid('header')

+, например, является бинарным оператором, он имеет два операнда, например, в a+b они были бы a и b. Унарные средства, что у вас есть только один операнд.

EDIT:

Как Barmar отметил, if не дает результата и Therfore я бы не назвал это оператор. Мой плохой, не думал об этом

+1

'if' не считается оператором, это ключевое слово инструкции. Операторы являются частями выражений, а 'if' не является выражением. – Barmar

+0

Но, может быть, эта книга использует нестандартную терминологию. – Barmar

+0

Думаю, вы могли бы утверждать, что это оператор. Он принимает один аргумент и дает результат. –