Логическое И  ActionScript 


Как и оператор ИЛИ, оператор логического И в основном используется для  

условного исполнения блока кода — в данном случае, когда обязательно выполняются 

оба условия. Оператор логического И имеет следующий обобщенный вид: 

выражение1 && выражение2 

Выражения выражение1 и выражение2 могут быть любыми допустимыми. В  

простейшем случае, когда результатами обоих выражений являются логические значения, 

оператор логического И возвращает f а 1 s e в тех случаях, когда результатом одного 

из выражений является значение false, a true — только в том случае, когда  

результатом обоих выражений является значение true. 

true && false // false, поскольку результат второго выражения равен false 

false && true // false, поскольку результат первого выражения равен false 

true && true // true, поскольку результаты обоих выражений равны true 

false && false // false, поскольку результаты обоих выражений равны false 

// (достаточно, чтобы результат одного из выражений был 

// равен false) 

Рассмотрим использование оператора логического И в двух примерах. В первом 

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

обеих переменных больше 50: 

х = 100; 

У -51: 

if (x>50 && у>50) { 

// Этот блок кода выполняется только в том случае, 

// когда значения переменных х и у больше 50 

Теперь представим сайт с форумом, посвященным Новому году. Доступ к  

форуму пользователи могут получить только при вводе правильного пароля и только 

1 января. Следующий код демонстрирует использование оператора логического 

И для проверки выполнения обоих условий (правильным паролем является слово 

fun): 

var now = new Date( ): // Создает новый объект Date 

var day = now.getDate( ): // Возвращает целое число в диапазоне 

// от 1 до 31 

var month = now.getMonth( ); // Возвращает целое число в диапазоне 

// от 0 до 11 

if ( password=="fun" && (month + day)==l ) { 

// Позволить пользователю войти... 

С технической точки зрения поведение оператора логического И очень похоже на 
поведение оператора логического ИЛИ. Сначала результат выражения выражение1 
преобразуется в логическое значение. Если результатом этого преобразования  
является false, то возвращается результат выражения выражен ие1. Если результатом 
преобразования является true, то возвращается результат выражения выражение2. 
Как и в случае с оператором логического ИЛИ, если значение результата первого 
выражения оператора логического И равно false, нахождение результата  
второго выражения является ненужным и, как следствие, неэффективным действием. 
По этой причине среда выполнения Flash вычисляет результат второго выражения 
только тогда, когда значение результата первого выражения равно true. Эту  
особенность полезно использовать в тех случаях, когда вы не хотите вычислять второе 
выражение до тех пор, пока результатом первого выражения не окажется значение 
true. В следующем примере операция деления выполняется только в том случае, 
если делитель не равен нулю: 
if ( numltems!=0 && totalCost/numItems>3 ) { 
// Этот блок кода выполняется только в том случае, когда количество 
// элементов не равно нулю и общая стоимость каждого элемента больше 3 




BACK NEXT

Сайт является частным собранием материалов и представляет собой любительский информационно-образовательный ресурс. Вся информация получена из открытых источников. Администрация не претендует на авторство использованных материалов. Все права принадлежат их правообладателям