중첩 함수의 JavaScript "this" 포인터 미스터리
JavaScript 코드 조각에서 "this"와 관련된 예기치 않은 동작이 발생했습니다. 중첩된 함수 내의 " 포인터입니다. 개체 메서드 내에서 중첩 함수를 정의했음에도 불구하고 중첩 함수 내부의 "this" 포인터는 전역 "window" 개체를 가리킵니다.
"this" 포인터의 동작은 다음의 함수 호출 메서드에 의해 결정됩니다. 자바스크립트. 세 가지 기본 메서드가 있습니다.
직접 호출: someThing.someFunction(arg1, arg2, argN)
call()을 사용한 함수 호출: someFunction.call(someThing, arg1, arg2, argN)
apply()를 사용한 함수 호출 : someFunction.apply(someThing, [arg1, arg2, argN])
제공한 예에서 중첩 함수는 명시적인 함수 호출 방법 없이 호출됩니다. 결과적으로 "this" 포인터는 기본적으로 브라우저 환경의 "window" 개체인 전역 개체로 설정됩니다.
"this" 포인터 동작을 명시적으로 지정하려면 다음 수정 사항을 사용할 수 있습니다. :
다음 방법 중 하나를 활용 , 중첩된 함수 내에서 "this" 포인터의 동작을 제어하고 원하는 객체를 참조하는지 확인할 수 있습니다.
위 내용은 \'this\' 포인터가 중첩된 JavaScript 함수의 전역 개체를 가리키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!