업데이트 : 원래 질문에 잘못된 가정이 있었기 때문에 질문을 다시 작성합니다. (이미 정의되지 않은 변수를 초기화 한 콘솔에서 코드를 실행했습니다.)JavaScript : 객체 초기화 후 내부 변수 초기화
이 만드는 의미 :
var obj = { 'whichScope': a };
obj.whichScope; //"ReferenceError: a is not defined"
하지만 오류가 발생하지 않습니다이 다음 예제 오는 방법? 그리고 두 번째 라인이 첫 번째 라인 이전에 실행되면 왜 obj가되지 않습니다. 어떤 스코프가 "After"로 해결됩니까?
obj가 초기화되기 전에 앞의 예제에서 "var a"가 실행되면 'a = "다음에"; " obj가 초기화되기 전에 실행 되나요?
var a = "Before";
var obj = { 'whichScope': a };
a = "After";
obj.whichScope; //"Before"
whichScope이 'a'를 반환하는 함수를 참조하는 경우 마지막 예제에서 'After'로 변환됩니다.