Каков порядок приоритета для модуля в Javascript?

Если у меня есть следующий код

var num = 15 % 2 + 6 * 4;

например... Я хотел бы знать, что будет выходной, в частности, я хотел бы знать порядок приоритета для модуля (операция, выполняемая % условное обозначение). Будет ли модуль выполняться до или после операций сложения и умножения?

Изменить: я уже посмотрел на статью, на которую люди связывают меня

Приоритет оператора MDN

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

Обновление: Рассматривая ассоциативность как признаки из обсуждения в комментариях под одним из предложенных ответов, можно сказать, что вопрос связан с ассоциативностью (если вы простите за случайный каламбур).

Обновление: редактирование синтаксиса (^_^?)

3 ответа

Решение

Технически это операторостатка (больше математических умов, чем мой, говорят, что модуль будет обрабатывать различия знаков по-разному), и он имеет тот же приоритет и ассоциативность, что и умножение и деление.

Так

var num = 15 % 2 + 6 * 4;

является

var num = (15 % 2) + (6 * 4);

У MDN есть удобная статья о приоритете операторов и ассоциативности.


Re ваш комментарий на вопрос:

... я получаю num значение переменной 25 с кодом примера, пока var num = 3 * 15 % 2 + 6 * 4; также приводит к num переменная, которая console.log показывает, что также имеет значение 25...

Это потому, что оба 15 % 2 + 6 * 4 а также 3 * 15 % 2 + 6 * 4 являются 25, Давайте разберемся с этим:

Ваш первый пример: 15 % 2 + 6 * 4

15 % 2 + 6 * 4
1      + 6 * 4
1      + 24
25

Ваш второй пример: 3 * 15 % 2 + 6 * 4

3 * 15 % 2 + 6 * 4
45     % 2 + 6 * 4
1          + 6 * 4
1          + 24
25

Модуль должен иметь тот же приоритет, что и деление, умножение и показатели. Смотрите здесь

По сути, вы идете слева направо, но сначала делаете плюс, затем умножаете, затем делите, а остальное - деление. Так

 var num = 15 % 2 + 6 * 4;

в основном 15 % 2 = 1

Другие вопросы по тегам