2012-06-13 2 views
0

나는 의심의 여지가있을 때 JS에서 vars를 선언 할 생각을하고있었습니다. 동시에 두 개의 vars 값을 설정하는 것의 우선 순위는 무엇입니까? 참조 :왼쪽 우선 순위

var a = 1, 
b = 1; 

를이 코드를 사용 ab 전에 선언됩니다. 그러나이 코드는 어떨까요?

var a = b = 1; 

어느 것이 먼저 값을 받습니까? a 또는 b?

답변

3

b 먼저 값을 얻는다

따라서
var a = (b = 1); 

으로 평가된다.

첫 번째 스 니펫과 다르다는 점에 유의하십시오. 아직 글로벌 범위에 없으면 b은 전역 변수가됩니다 (이전에 선언되지 않은 경우). 엄격 모드에서는 오류가 발생합니다.

공식적인 설명은 specification에서 찾을 수 있습니다.