Приоритет операторов  ActionScript

 

 

Приоритет операторов определяет, какая операция будет выполнена первой в  

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

выражении встречаются операторы умножения и сложения, первой будет выполнена 

операция умножения: 

4 + 5*6 // Возвращает 34, поскольку 4 + 30 = 34 

Выражение 4 + 5*6 вычисляется, как «4 плюс произведение 5 и 6», поскольку 

оператор * имеет более высокий приоритет, чем оператор +. 

Подобным образом, если в одном выражении встречаются оператор «меньше чем» 

(<) и оператор конкатенации (+), операция конкатенации будет выполнена первой. 

Предположим, мы хотим сравнить две строки и отобразить результат сравнения 

при отладке программы. Не зная приоритетов операторов < и +, мы можем по 

ошибке использовать следующий код: 

trace(result: " + "а" < "b"); 

Из-за приоритетов операторов < и + код выдаст значение f al se, хотя мы ожидали 

увидеть несколько иной результат: 

result: true 

Чтобы определить результат выражения "result: " + "а" < "Ь", среда Flash 

сначала выполнит операцию конкатенации (поскольку оператор + обладает более 

высоким приоритетом, чем <). Результатом конкатенации строки "result: " со 

строкой "а" является новая строка "result: а". После этого среда выполнения 

Flash сравнивает полученную строку со строкой "Ь" и получает значение false, 

поскольку первый символ строки "result: а" находится дальше по алфавиту, 

чем символ "Ь". 

Если вы сомневаетесь в приоритетах используемых операторов или хотите указать 

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

которые обладают самым высоким приоритетом: 

"result: " + ("а" < "Ь") // Возвращает: "result: true" 

D + 5) * 6 // Возвращает 54, поскольку 9 * 6 = 54 

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

сложное выражение более читабельным. Выражение: 

х > У || У == z // х больше у или у равняется z 

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

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

(х > у) || (у == z) // Гораздо лучше! 




BACK NEXT

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