Каков порядок приоритета a = b == c в JavaScript? - PullRequest
2 голосов
/ 21 июня 2010
var clicked = $(event.currentTarget || target);
var clickedIsActive = clicked[0] == this.active[0];

Я довольно новичок в js, и, пытаясь прочитать какой-то код jQuery, я наткнулся на вышеприведенный раздел.

Каков приоритет для второй строки?

Это:

var clickedIsActive = (clicked[0] == this.active[0]);

Или это что-то еще?

Спасибо.

Ответы [ 3 ]

6 голосов
/ 21 июня 2010

Да, крайняя правая сторона задания оценивается первой.

clickedIsActive присваивается результат выражения clicked[0] == this.active[0].

2 голосов
/ 21 июня 2010
var clickedIsActive = clicked[0] == this.active[0];

clickedIsActive - это результат сравнения clicked[0] == this.active[0], поэтому сначала нужно сравнить clicked[0] == this.active[0].

0 голосов
/ 21 июня 2010

Думаю, вы путаете = с ==.Это не одно и то же, так что это очень похоже на сравнение яблок с апельсинами.

= - это задание.== - это сравнение "равно", которое будет возвращать только true или false.

Недопонимание или нет, ваш транскод правильный.Правая сторона задания анализируется перед фактическим назначением.Виртуальная машина Javascript должна знать, что она назначает, прежде чем она сможет ее сохранить.

...