JavaScript에서는 전역 변수가 전역적으로 선언된 후 동일한 이름을 가진 전역 개체의 속성이 됩니다. 그런데 함수에서 지역변수를 선언한 후에는 함수(객체)의 속성이 되지 않는데, 대신 "함수명.속성명"을 이용하여 선언해야 하는 이유는 무엇인가요?
PHP中文网2017-06-26 11:00:35
다음과 같이 이해될 수 있습니다.
함수 내부에 선언된 변수는 함수 객체가 아닌 함수 실행 컨텍스트 객체에 속합니다.
전역 환경에서 선언된 변수는 전역 실행 컨텍스트 객체에 속하며, 이 컨텍스트 객체는 전역 환경 객체입니다
淡淡烟草味2017-06-26 11:00:35
JavaScript에서는 전역 변수가 전역적으로 선언된 후 동일한 이름을 가진 전역 개체의 속성이 됩니다. 함수에서 지역 변수를 선언한 후에는 해당 함수의 속성인 로컬 객체가 되기 때문에 먼저 해당 함수에 전역적으로 접근한 후 함수 내의 지역 변수에 접근해야 합니다.