JS에서는이 포인팅이 초보자에게는 어려운 문제가되어야하지만, 실제로 이해한다면 아무런 문제가 없습니다. 아래에 이것에 대해 이야기합시다.
JS에서, 이것의 값은 통화 패턴 (통화 개체)에 따라 다르며 JS에는 4 가지 유형의 호출 패턴이 있습니다.
1. 기능 호출 모드
함수가 객체의 속성이 아닌 경우 두 가지 함수라고합니다. 현재 기능에서 이것은 글로벌 객체를 가리 킵니다 (큰 로그의 창)
window.value = 1; function getValue () {console.log (this.value);} getValue (); // output 1,이 점은 창으로입니다2. 방법 호출 모드
함수가 객체의 속성 인 경우 객체의 메소드라고합니다. 메소드가 호출되면 객체를 가리 킵니다.
var obj = {value : 2, getValue : function () {console.log (this.value); // output 2, 이것은 obj}}를 가리 킵니다.! ! ! 이 모드에서는 객체에 대한 바인딩이 메소드를 호출 할 때 발생합니다.
3. 생성자 호출 모드
새로 호출 된 함수를 생성자 함수라고합니다. 현재 이것은 생성자 함수 인스턴스에서 나오는 객체를 가리 킵니다.
함수 main (val) {this.value = val;} main.prototype.getValue = function () {console.log (this.value);} var fun = new main (3); fun.getValue (); fun.value; // 인스턴스 객체 fun을 가리 킵니다.4. 통화 모드를 적용하고 바인딩합니다
적용, 호출, 바인딩 메소드를 통해 발신자 에서이 사람을 설정할 수 있습니다.
함수 showValue () {console.log (this.value);} var obj = {value : 4} showValue.call (OBJ) // 출력 4, 이것은 OBJ 객체를 가리 킵니다.ECMA5에 새로운 결합 방법이 추가되었습니다. 특정 사용량을 구글에 넣을 수 있습니다. 다음은이 바인딩의 사용에 대한 시연입니다.
함수 showValue () {console.log (this.value);} var obj = {value : 4} var showValue2 = showValue.Bind (obj); showValue2 () // 출력 4, 이것은 OBJ 객체를 가리 킵니다.바인딩의 많은 용도가 있습니다. 직접 확인할 수 있습니다.
JS에서 이것에 대해 위의 진부한 이야기는 내가 당신과 공유하는 모든 내용입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.