Mir-knigi.online
Книги онлайн читать бесплатно!
  • Главная
  • Жанры
  • ТОП книг
  • ТОП авторов
  • Контакты

JavaScript. Подробное руководство, 6-е издание

Часть 40 из 535 Информация о книге

Наконец, обратите внимание, что операторы

<b>&lt;=</b>
(меньше или равно) и
<b>&gt;= </b>
(больше или равно) для определения «равенства» двух значений не используют операторы равенства или идентичности. Оператор «меньше или равно» определяется просто как «не больше», а оператор «больше или равно» - как «не меньше». Единственное исключение имеет место, когда один из операндов представляет собой значение
<b>NaN</b>
(или преобразуется в него). В этом случае все четыре оператора сравнения возвращают
<b>false</b>
.

4.9.3. Оператор in

Оператор

<b>in</b>
требует, чтобы левый операнд был строкой или мог быть преобразован в строку. Правым операндом должен быть объект. Результатом оператора будет значение
<b>true</b>
, если левое значение представляет собой имя свойства объекта, указанного справа. Например:

<b>var point = { х:1, у:1 }; // Определить объект</b>

<b>&quot;х&quot; in point // =&gt; true: объект имеет свойство с именем &quot;х&quot;</b>

<b>&quot;z&quot; in point // =&gt; false: объект не имеет свойства с именем &quot;z&quot;</b>

<b>&quot;toString” in point // =&gt; true: объект наследует метод toString</b>

<b>var data = [7,8,9]; // Массив с элементами 0, 1 и 2</b>

<b>&quot;0&quot; in data  // =&gt; true: массив содержит элемент &quot;0&quot;</b>

<b>1 in data    // =&gt; true: числа преобразуются в строки</b>

<b>3 in data     // =&gt; false: нет элемента 3</b>

4.9.4. Оператор instanceof

Оператор

<b>instanceof</b>
требует, чтобы левым операндом был объект, а правым - имя класса объектов. Результатом оператора будет значение
<b>true</b>
, если объект, указанный слева, является экземпляром класса, указанного справа. В противном случае результатом будет
<b>false</b>
. В главе 9 рассказывается, что классы объектов в языке JavaScript определяются инициализировавшей их функцией-конструктором. Следовательно, правый операнд оператора
<b>instanceof</b>
должен быть именем функции-конструктора. Например:

<b>var d = new Date(); // Создать новый объект с помощью конструктора Date()</b>

<b>d instanceof Date; // Вернет true; объект d был создан с функцией Date()</b>

<b>d instanceof Object; // Вернет true; все объекты являются экземплярами Object</b>

<b>d instanceof Number; // Вернет false; d не является объектом Number</b>

<b>var a = [1, 2, 3]; // Создать массив с помощью литерала массива</b>

<b>a instanceof Array; // Вернет true; а - это массив</b>

<b>a instanceof Object; // Вернет true; все массивы являются объектами</b>

<b>a instanceof RegExp;// Вернет false; массивы не являются регулярными выражениями</b>

Обратите внимание, что все объекты являются экземплярами класса

<b>Object</b>
. Определяя, является ли объект экземпляром класса, оператор
<b>instanceof</b>
принимает во внимание и «суперклассы». Если левый операнд
<b>instanceof</b>
не является объектом,
<b>instanceof</b>
возвращает
<b>false</b>
. Если правый операнд не является функцией, возбуждается исключение
<b>ТуреЕггог</b>
.

Чтобы понять, как действует оператор

<b>instanceof</b>
, необходимо познакомиться с таким понятием, как «цепочка прототипов». Это - механизм наследования в JavaScript; он описывается в разделе 6.2.2. Чтобы вычислить значение выражения
<b>о instanceof f</b>
, интерпретатор JavaScript определяет значение
<b>f.prototype</b>
и затем пытается отыскать это значение в цепочке прототипов объекта
<b>о</b>
. В случае успеха объект
<b>о</b>
считается экземпляром класса
<b>f</b>
(или суперкласса класса
<b>f</b>
), и оператор возвращает
<b>true</b>
. Если значение
<b>f.prototype</b>
отсутствует в цепочке прототипов объекта
<b>о</b>
, то объект
<b>о</b>
не является экземпляром класса
<b>f</b>
и оператор
<b>instanceof</b>
возвращает
<b>false</b>
.

4.10. Логические выражения

Логические операторы

<b>&amp;&amp;, ||</b>
и
<b>!</b>
используются для выполнения операций булевой алгебры и часто применяются в сочетании с операторами отношений для объединения двух выражений отношений в одно более сложное выражение. Эти операторы описываются в подразделах, следующих ниже. Чтобы понять, как они действуют, вам может потребоваться еще раз прочитать о концепции «истинности» и «ложности» значений в разделе 3.3.

4.10.1. Логическое И (&&)

Условно говоря, оператор

<b>&amp;&amp;</b>
действует на трех уровнях. На самом простом уровне, когда в операции участвуют логические операнды, оператор
<b>&amp;&amp;</b>
выполняет операцию «логическое И» над двумя значениями: он возвращает
<b>true</b>
тогда и только тогда, когда оба операнда имеют значение
<b>true</b>
. Если один или оба операнда имеют значение
<b>false</b>
, оператор возвращает
<b>false</b>
.


Перейти к странице:
Предыдущая страница
Следующая страница
Жанры
  • Военное дело
  • Деловая литература
  • Детективы и триллеры
  • Детские
  • Детские книги
  • Документальная литература
  • Дом и дача
  • Дом и Семья
  • Жанр не определен
  • Зарубежная литература
  • Знания и навыки
  • История
  • Компьютеры и Интернет
  • Легкое чтение
  • Любовные романы
  • Научно-образовательная
  • Образование
  • Поэзия и драматургия
  • Приключения
  • Проза
  • Прочее
  • Психология и мотивация
  • Публицистика и периодические издания
  • Религия и духовность
  • Родителям
  • Серьезное чтение
  • Спорт, здоровье и красота
  • Справочная литература
  • Старинная литература
  • Техника
  • Фантастика и фентези
  • Фольклор
  • Хобби и досуг
  • Юмор
Mir-knigi.online

Бесплатная онлайн библиотека для чтения книг без регистрации с телефона или компьютера. У нас собраны последние новинки, мировые бестселлеры книжного мира.

Контакты
  • [email protected]
Информация
  • Карта сайта
© mir-knigi.online, 2026. | Вход