4.7.7. Порядок вычисления

We use cookies. Read the Privacy and Cookie Policy

Приоритет и ассоциативность операторов определяют порядок их выполнения в комплексных выражениях, но они не оказывают влияния на порядок вычислений в подвыражениях. Выражения в языке JavaScript всегда вычисляются слева направо. Например, в выражении w=x+y*z первым будет вычислено подвыражение w, затем х, у и z. После этого будет выполнено умножение значений у и z, затем сложение со значением х и результат будет присвоен переменной или свойству, определяемому выражением w. Добавляя в выражения круглые скобки, можно изменить относительный порядок выполнения операций умножения, сложения и присваивания, но нельзя изменить общий порядок вычислений слева направо.

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