84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
JavaScript에서는 전역 변수가 전역적으로 선언된 후 동일한 이름을 가진 전역 개체의 속성이 됩니다. 그런데 함수에서 지역변수를 선언한 후에는 함수(객체)의 속성이 되지 않는데, 대신 "함수명.속성명"을 이용하여 선언해야 하는 이유는 무엇인가요?
다음과 같이 이해될 수 있습니다.
함수 내부에 선언된 변수는 함수 객체가 아닌 함수 실행 컨텍스트 객체에 속합니다.전역 환경에서 선언된 변수는 전역 실행 컨텍스트 객체에 속하며, 이 컨텍스트 객체는 전역 환경 객체입니다
이유는 없습니다. 이것이 규칙입니다.
역사적 문제는 혼란을 없애기 위해 엄격 모드를 사용하는 것이 좋습니다.
이것을 의미한다면`기능 테스트(){
}`//업데이트, 오류 수정.질문자분께서 기본을 잘 보시고 계시네요.
이건 함수 변수의 범위 문제인 것 같아요. js는 정말 유연해서 함께 배워보면 좋겠어요^~^ ^~^
JavaScript에서는 전역 변수가 전역적으로 선언된 후 동일한 이름을 가진 전역 개체의 속성이 됩니다. 함수에서 지역 변수를 선언한 후에는 해당 함수의 속성인 로컬 객체가 되기 때문에 먼저 해당 함수에 전역적으로 접근한 후 함수 내의 지역 변수에 접근해야 합니다.
기능 범위
다음과 같이 이해될 수 있습니다.
함수 내부에 선언된 변수는 함수 객체가 아닌 함수 실행 컨텍스트 객체에 속합니다.
전역 환경에서 선언된 변수는 전역 실행 컨텍스트 객체에 속하며, 이 컨텍스트 객체는 전역 환경 객체입니다
이유는 없습니다. 이것이 규칙입니다.
역사적 문제는 혼란을 없애기 위해 엄격 모드를 사용하는 것이 좋습니다.
으아악이것을 의미한다면
으아악`기능 테스트(){
}`
//업데이트, 오류 수정.
질문자분께서 기본을 잘 보시고 계시네요.
이건 함수 변수의 범위 문제인 것 같아요. js는 정말 유연해서 함께 배워보면 좋겠어요^~^ ^~^
JavaScript에서는 전역 변수가 전역적으로 선언된 후 동일한 이름을 가진 전역 개체의 속성이 됩니다. 함수에서 지역 변수를 선언한 후에는 해당 함수의 속성인 로컬 객체가 되기 때문에 먼저 해당 함수에 전역적으로 접근한 후 함수 내의 지역 변수에 접근해야 합니다.
기능 범위