를 해치고, 예시적인 예와 함께 다른 맥락에서 그 행동을 탐구합니다. 시작합시다! 는
키 포인트 :
는 컨텍스트에 적응합니다
다른 시나리오에서 :
1. 글로벌 컨텍스트 (기본 바인딩) : 브라우저에 가 남아 있고 node.js.
예 :
객체입니다. Node.js에서는 글로벌 객체입니다.
엄격한 모드에서 >
3. 내부 객체 메소드 (암시 적 바인딩) :
는 새로 생성 된 객체를 나타냅니다.
예 :
6. 클래스 :
7. , ,
: 인수를 개별적으로 전달하여 즉시 함수를 호출합니다
가 특정 객체에 바운드가있는 새 함수를 반환합니다.
8. 이벤트 리스너 :
우선 순위 :
this
? this
는 함수가 속한 객체를 나타내는 키워드입니다. 런타임시 값을 결정하여 재사용 가능한 동적 기능을 가능하게합니다. 함수 호출의 컨텍스트는 this
는 변수가 아닌 키워드입니다
this
실제 비유 : this
는 글로벌 객체를 나타냅니다. 이것은 환경에 따라 다릅니다
엄격한 모드에서는 this
는 this
(빈 객체)입니다.
예 : this
2. 정기적 인 기능 : this
this
는 입니다
this
4. 화살표 기능 : 가 없습니다. 그들은 주변 어휘 범위에서 그것을 물려받습니다
예 :
<code class="language-javascript">console.log(this); // Browser: window object; Node.js: {}</code>
5. 생성자 함수 (새로운 바인딩) :
키워드를 사용하여 new
ES6 클래스에서 this
는 생성자 함수와 유사하게 동작합니다
예 : <code class="language-javascript">'use strict';
console.log(this); // Browser: window object; Node.js: undefined</code>
this
예 : <code class="language-javascript">function showThis() {
console.log(this);
}
showThis(); // Without strict mode: Browser - window; Node.js - global object; With strict mode: undefined</code>
call()
apply()
새로운 바인딩 bind()
this
결론 : 마스터 링
call()
위 내용은 JavaScript에서 'this'이해와 다양한 시나리오에서의 행동의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!