>  기사  >  웹 프론트엔드  >  JavaScript에서 이것이 가리키는 것을 수정하는 다양한 방법

JavaScript에서 이것이 가리키는 것을 수정하는 다양한 방법

韦小宝
韦小宝원래의
2018-03-14 14:44:572577검색

이 글에서는 JavaScript에서 this 포인터를 수정하는 다양한 방법을 설명합니다. JavaScript에서 this 포인터를 수정하는 방법을 모르거나 JavaScript에서 this 포인터를 수정하는 데 관심이 있다면 이 글을 살펴보겠습니다. , 헛소리는 그만하고 본론으로 들어가겠습니다

JavaScript의 이 주제는 심도 있는 논의가 필요한 주제입니다. 다음은 이 논점을 바꾸는 3가지 일반적인 방법을 요약한 것입니다. 먼저, 함수의 개념을 명확히 하세요. 함수 자체는 특별한 유형입니다. 함수도 변수로 간주될 수 있다는 점을 항상 이해해야 합니다.

1. 객체의 메소드를 통해 함수를 정의합니다. (누가 나를 묶든 가리킨다)

일반인의 용어로 이 함수가 객체의 메소드(키)라면 다음과 같습니다. 함수는 이 객체를 가리킵니다.

var a = function(obj) 
{ 
    alert(this == obj); 
} 
var obj = {}; 
obj.fun = a; 
obj.fun(obj); //true

이 함수는 변수와 동일합니다. 객체에 바인딩되면 이 지점이 기본 window 객체에서 obj 객체로 변경됩니다.

2. 이 함수는 새로운 객체를 생성합니다. 이것은 새로운 객체를 가리킵니다(누가 새로운 나를 가리킬지)

var obj = new a();

객체는 이 문을 통해 생성되며 함수의 this는 obj를 가리킵니다.

3. 호출을 통해 이 포인터를 변경하고 적용합니다.

1.apply 메소드

param1: 함수에 이 포인터를 표시합니다.
param2: 컬렉션 []

예: 호출된 함수 name .apply(param1, param2);

첫 번째 방법 검토

var a = function(o) 
{ 
    alert(this == o); 
} 
var obj = {}; 
obj.fun = a; 
obj.fun(obj); //true

간단합니다. 한 문장에 적용을 사용하세요

a.apply(obj,[obj]);

2.call method

param1: show 함수에서 this의 포인터
param2: 두 번째 매개변수는 show 함수의 실제 매개변수로 시작합니다. 예: 호출된 함수 name.call(param1, param2, param3)
에 대해 잘 모르는 경우 위의 내용이 전부입니다. , 혼자서도 쉽게 양면을 마스터할 수 있습니다!


관련 권장 사항:

JS의 4가지 this 값 모드



Javascript 함수의 4가지 바인딩 형식

위 내용은 JavaScript에서 이것이 가리키는 것을 수정하는 다양한 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.