this
코어 포인트 this
javaScript의 키워드는 현재 실행 컨텍스트를 가리키며, 특히 객체 지향 프로그래밍 또는 에 크게 의존하는 프레임 워크 및 라이브러리를 사용하는 경우 개체를 조작하고 상호 작용하는 데 필수적입니다. 키워드
this
ecmAScript 6은 직접 동봉 범위에서 this
this
를 가리 킵니다. 이벤트 핸들러에서 새로 생성 된 객체를 가리 킵니다. bind()
this
this
this
this
가 원래 객체를 가리키기를 기대하는 것입니다. 다음 예에서 볼 수 있듯이 이것은 작동하지 않습니다. this
this
new
가 this
에 대한 참조 인 것처럼 보이더라도 실제로는 this
자체에 대한 또 다른 참조 일뿐입니다. 우리는 이미 통화 위치가 컨텍스트를 결정한다는 것을 알고 있으며 여기서는 전화 위치가 call()
이며 이는 간단한 기능 호출입니다. apply()
가베이스가없는 함수를 가리키려면 (특정 객체에 바인딩되지 않은 함수) 코드 하단에 bind()
를 추가하면 다음 출력이 표시됩니다. this
.var car = { brand: "Nissan", getBrand: function() { console.log(this.brand); } }; var getCarBrand = car.getBrand; getCarBrand(); // 输出:undefined
로 변환됩니다. 물론 정의되지 않았습니다. 객체에서 메소드를 추출하면 다시 정상적인 기능이됩니다. 물체와의 연결은 차단되며 더 이상 예상대로 작동하지 않습니다. 다시 말해, 추출 된 함수는 취한 객체에 바인딩되지 않습니다. 그래서 우리는 어떻게 그것을 해결합니까? 원래 객체에 대한 참조를 유지하려면 <🎜 🎜> 함수를 <🎜 🎜> 변수에 할당 할 때 getCarBrand
함수를 car
객체에 명시 적으로 바인딩해야합니다. <<> 방법을 사용하여 달성 할 수 있습니다. this.brand
window.brand
getBrand()
콜백 함수에서 getCarBrand
<<> 2
getBrand()
car
function(){ console.log(this.brand); }
를 가리키지 않고 <🎜 🎜>를 가리 킵니다. 원래 객체에 대한 참조를 변경하지 않으려면 <🎜 object> 메소드를 사용하여 <🎜 🎜> 함수를
객체에 명시 적으로 바인딩해야합니다.
this
를 사용한다는 것입니다. 다음 예를 고려하십시오 : this
var getCarBrand = car.getBrand.bind(car); getCarBrand(); // 输出:Nissan
와 동일하다는 것입니다. 이 문제를 해결하기 위해서는 ,
값을 얻습니다. 화살표 함수의 어휘 결합은
는 부모 객체를 가리 킵니다. car.getBrand
를 <🎜 🎜> 함수에 바인딩해야합니다. getBrand()
car.getBrand
this
와 동일합니다. 클로저를 수정하는 또 다른 인기있는 방법은 <🎜 값을 다른 변수에 할당하여 예상치 못한 변경을 방지하는 것입니다. el
var car = {
brand: "Nissan",
getBrand: function() {
console.log(this.brand);
}
};
var getCarBrand = car.getBrand;
getCarBrand(); // 输出:undefined
this
, _this
, that
, self
에 할당 될 수 있습니다. , <🎜 🎜>, me
, my
, 대상의 가명 또는 귀하에게 적합한 다른 이름. 열쇠는 원래 객체에 대한 참조를 유지하는 것입니다. context
this
연산자를 사용하더라도 덮어 쓸 수 없습니다. 이제 화살표 함수를 사용하여 this
문을 대체하는 방법을 살펴 보겠습니다. function
=>
this
<<> 기억해야 할 사항 new
<🎜 🎜>
<<> 우리는 다른 메커니즘과 마찬가지로 var self = this;
키워드를보고 간단한 규칙을 따르고 이해하면 더 많은 자신감을 가지고 메커니즘을 사용할 수 있습니다. 그래서, 우리가 배운 내용 (이 기사와 이전 기사에서)을 간단히 살펴 보겠습니다.
function(){
console.log(this.brand);
}
this
this
이거나 객체가 아닌 경우
this
연산자를 사용하여 함수를 호출 할 때 는 새로 생성 된 객체를 가리 킵니다.
this
javaScript
위 내용은 JavaScript를 마스터하는 마지막 단계 '이'키워드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!