Руководство по actionscript. часть 1, стр. 071

True || false // true, поскольку первый операнд равен true

false jj true // true, поскольку второй операнд равен true

true jj true // true (достаточно, чтобы любой операнд был равен true)

false jj false // false, поскольку оба операнда равны false

Когда результат выражения выражение1 не является логическим значением, среда Flash сначала преобразует результат в логическое значение. Если результатом преобразования окажется значение true, то оператор логического ИЛИ вернет значение выражения выражение!. В противном случае оператор логического ИЛИ вернет значение выражения выражение2. Описанное правило продемонстрировано в следующих примерах:

О || «hi there!» // результат выражения выражение1 не преобразуется // в значение true, поэтому оператор возвращает // значение выражения выражение2: «hi there!»

«hey» || «dude» // выражение выражение1 представляет непустую строку.

// поэтому результат этого выражения преобразуется

// в значение true и оператор возвращает значение

// выражения выражение].: «hey»

false || 5 + 5 // результат выражения выражение1 не преобразуется // в значение true, поэтому оператор возвращает // значение выражения выражение2 (то есть 10)

Результаты преобразования различных типов данных к логическим значениям перечислены в разд. «Преобразование в примитивные типы» гл. 8.

Возвращаемые оператором логического ИЛИ значения, которые не являются логическими, на практике используются редко. Вместо этого результат оператора ИЛИ обычно применяется в условных операторах для принятия логических решений. Рассмотрим следующий код:

var х = 10; var у = 15; if (х || у) {

// Этот блок кода выполняется в том случае, когда значение // одной из переменных х или у не равно 0

}

В третьей строке вместо логического значения условного выражения оператора if мы видим оператор логического ИЛИ (х | | у). Первый шаг в вычислении значения выражения х | | у заключается в преобразовании числа 10 (которое является значением первого операнда — х) в логическое значение. Любое ненулевое конечное число преобразуется в логическое значение true. Оператор логического ИЛИ возвращает значение переменной х, равное 10. Таким образом, для среды выполнения Flash оператор if выглядит следующим образом:

if (10) {

// Этот блок кода выполняется в том случае, когда значение // одной из переменных х или у не равно О

}

Однако 10 является числом, а не логическим значением. Что же происходит дальше? Оператор if преобразует результат выполнения оператора логического ИЛИ к логическому значению. В данном случае 10 преобразуется в логическое значение true и среда Flash представляет наш код следующим образом:

if (true) {

// Этот блок кода выполняется в том случае, когда значение // одной из переменных х или у не равно О

}

Вот и ответ. Результат условного выражения равен true, поэтому код, заключенный в фигурные скобки, выполняется.

Обратите внимание, что, если значение результата первого выражения оператора логического ИЛИ равно true, вычисление результата второго выражения является ненужным и, как следствие, неэффективным действием. По этой причине среда выполнения Flash вычисляет результат второго выражения только тогда, когда значение результата первого выражения равно false. Эту особенность полезно использовать в тех случаях, когда вы не хотите вычислять второе выражение до тех пор, пока результатом первого выражения не окажется f а 1 s е. В следующем примере выполняется проверка, входит ли указанное число в заданный диапазон. Если число слишком маленькое, нет необходимости в выполнении второй проверки, которая определяет, является ли число слишком большим.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 23.02.2011">Руководство по actionscript. часть 7, стр. 034
  • 27.01.2012">Покажут ли нам в феврале iPad 3?
  • 19.10.2011">Памяти Стива Джобса
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.43
  • 11.11.2012">Фотокнига от Принт-а-Тет
  • 12.06.2011">Американские ученым удалось превратить в нейроны клетки кожи
  • 22.03.2011">Руководство по actionscript. часть 2, стр. 018
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.45
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.125
  • 03.08.2011">Поэт-революционер — новое собрание сочинений
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.148
  • 07.03.2011">Руководство по actionscript. часть 4, стр. 115
  • 29.03.2013">Новые смартфоны от SONY выйдут в текущем году
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 065
  • 12.03.2011">Руководство по actionscript. часть 3, стр. 140
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...