2010-06-21 4 views
2
var clicked = $(event.currentTarget || target); 
var clickedIsActive = clicked[0] == this.active[0]; 

저는 js를 처음 접했고 일부 jQuery 코드를 읽으려고 시도하면서 위 섹션을 발견했습니다.JavaScript에서 a = b == c의 순서 우선 순위는 무엇입니까?

두 번째 줄의 우선 순위는 무엇입니까?

은 다음과 같습니다

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

아니면 뭔가 다른?

감사합니다.

+2

방금 ​​시도해 볼 수 있습니다. –

+0

과제보다 우선 순위가 높은 유일한 연산자는 쉼표 연산자입니다 (예 : 'foo = 0,1;'은'(foo = 0), (1);'으로 해석됩니다. – CMS

답변

6

예, 과제의 맨 오른쪽이 먼저 평가됩니다.

clickedIsActiveclicked[0] == this.active[0]이라는 결과가 할당됩니다.

2
var clickedIsActive = clicked[0] == this.active[0]; 

clickedIsActive 먼저 비교해야하므로 clicked[0] == this.active[0]clicked[0] == this.active[0]을 비교 한 결과이다.

0

===을 혼동시킬 수 있습니다. 그들은 사과와 오렌지를 비교하는 것과 매우 흡사합니다.

=는 (는) 할당 대상입니다. ==true 또는 false 만 반환하는 "동일 함"비교입니다.

오해 여부에 관계없이 귀하의 트랜스 코드가 올바른 것입니다. 할당의 오른쪽은 실제 할당 전에 구문 분석됩니다. Javascript VM은 저장하기 전에 무엇이 할당되는지를 알아야합니다.