자바스크립트 범위 체인
阿神
阿神 2017-05-19 10:28:18
0
5
541
으아악

결과가 월드가 아닌 헬로인 이유

阿神
阿神

闭关修行中......

모든 응답(5)
滿天的星座

으아악

PHPzhong

으아악

小葫芦

obj 개체에 작성된 str:"world"는 obj.str="world"를 의미하기 때문입니다. 이는 변수가 아니라 속성입니다. 마지막으로 실행한 obj.fun()에서 나타나는 것은 속성이 아닌 str 변수입니다(물론 이는 전역 창의 속성이기도 합니다). 이해하셨나요? this.str 또는 obj.str에 경고하면 "world"를 얻을 수 있습니다.

左手右手慢动作

str 변수는 실제로 window의 속성이며 obj 개체의 str 속성과 아무 관련이 없습니다. 여기에는 범위 체인 문제가 포함되지 않습니다. 다음 사항을 이해해야 합니다.

으아악

이 예에서는 전역 변수 str이 함수 변경 시 먼저 재할당됩니다. 경고(str)를 실행하려면 자신의 범위 체인의 시작점, 즉 자신의 변수에서 str 변수를 찾습니다. 찾을 수 없으면 계속해서 레벨 1 검색을 통해 str 변수를 찾았지만 현재 str이 world에 다시 할당되었으므로 world가 나타납니다.

洪涛

으아악

이해하셨나요?

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿