English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основы JavaScript

Объекты JavaScript

Функции JavaScript

JS HTML DOM

JS браузер BOM

Основы AJAX

Руководство по JavaScript

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

Приоритет операторов определяет способ их интерпретации.

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

В следующем примере приоритет умножения выше, чем сложение, что определяет результат операции.

// Сначала умножить 3 на 5, затем добавить 10
var x = 10 + 3 * 5;
Тест на‹/›

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

// Сначала сложить 10 и 3, затем умножить на 5
var x = (10 + 3) * 5;
Тест на‹/›

При использовании скобок сначала вычисляются операции внутри скоб.

Когда у многих операций одинаковый приоритет (например, сложение и вычитание), они вычисляются слева направо:

var x = 10 + 3 - 5;
Тест на‹/›

Ассоциативность в JavaScript

Вычисление выражений также зависит от свойств ассоциативности.

Ассоциативность определяет направление вычисления всего выражения (с правой стороны налево или слева направо).

Если в выражении中出现两个或多个具有相同优先级的运算атор, то сначала будет вычисляться哪个? Свойства ассоциативности отвечают на этот вопрос.

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

ОператорыИспользование описанияСоюзы операторовПриоритет операторов
()Вызов метода/функции, группировкаСлева направоМаксимальное значение - 1
[]Доступ к элементам массиваСлева направо1
.Доступ к свойствам объектаСлева направо1
++Увеличение на одинСправа налево2
--Уменьшение на одинСправа налево2
-Вычитание
Справа налево2
!Логическое неСправа налево2
~Битовое неСправа налево2
deleteУдаление значения массива или свойства объектаСправа налево2
newСоздание объектаСправа налево2
typeofВозвращаемый тип данныхСправа налево2
voidНе указывать возвращаемое значениеСправа налево2
/ДелениеСлева направо3
*УмножениеСлева направо3
%Оставшаяся частьСлева направо3
+СложениеСлева направо4
+Слияние строкСлева направо4
-ВычитаниеСлева направо4
>>Битовое правое смещениеСлева направо5
<<Битовое левое смещениеСлева направо5
>, >=Больше, больше или равноСлева направо6
<, <=Меньше, меньше или равноСлева направо6
==ЭквивалентныСлева направо7
!=Не эквивалентныСлева направо7
===Эквивалентны/строго эквивалентны (одинаковые типы данных)Слева направо7
!==Не эквивалентны/строго не эквивалентны (разные типы данных)Слева направо7
&Битовое ИСлева направо8
^Битовое ИЛИ исключающееСлева направо9
|Битовое ИЛИСлева направо10
&&Логическое ИСлева направо11
||Логическое ИЛИСлева направо12
?:Условный枝Слева направо13
=АссигнованиеСправа налево14
*=, /=, %=, +=, -=, <<=, >>=, >>>=, &=, ^=, |=Деление по предыдущему операторуСправа налево14
,Множественная оценкаСлева направоМинимум: 15