>  기사  >  웹 프론트엔드  >  js_javascript 기술에서 이 키워드에 대한 자세한 설명

js_javascript 기술에서 이 키워드에 대한 자세한 설명

WBOY
WBOY원래의
2016-05-16 17:21:27981검색

이것은 Javascript 언어의 키워드입니다.
함수 실행 시 자동으로 생성되는 내부 객체를 나타내며, 함수 내부에서만 사용할 수 있습니다. 예를 들어

코드 복사 코드는 다음과 같습니다.

 function test(){

  this.x = 1;

 }

this의 값은 함수를 사용함에 따라 변경됩니다. 그러나 일반적인 원칙이 있습니다. 즉, 함수를 호출하는 객체를 참조한다는 것입니다.

다음은 4가지 상황에서 this의 사용법을 자세히 논의한 것입니다.

시나리오 1: 순수 함수 호출

가장 일반적인 함수 사용법이자 전역 호출이므로 전역 개체 Global을 나타냅니다.

다음 코드를 보세요. 실행 결과는 1입니다.
코드 복사 코드는 다음과 같습니다.

함수 테스트(){

이 .x = 1;

 alert(this.x)

 }

test() // 1

이를 증명하기 위해 코드를 일부 변경했습니다.
코드 복사 코드는 다음과 같습니다.

 var x = 1;

function test(){

경보(this.x)

}

test(); // 1

실행 결과는 여전히 1입니다. 다시 변경하세요:
코드 복사 코드는 다음과 같습니다.

 var x = 1;

함수 테스트(){

this.x = 0

}

test()

경고(x) ; // 0

사례 2: 객체 메소드로 호출

함수는 객체의 메소드로 호출될 수도 있습니다. 상위 개체를 가리킨다.
코드 복사 코드는 다음과 같습니다.

function test(){

경고(this.x)

 }

 o.x = 1

 o.m = test; >
o.m(); // 1



3번 사례는 생성자로 호출됩니다.

생성자라 불리는 것은 새로운 객체를 생성하는 것입니다. 이 기능을 통해. 이때 this는 새로운 객체를 가리킨다.


코드 복사 코드는 다음과 같습니다. 함수 테스트(){
이 .x = 1;

 }

 var o = new test()

 alert(o.x); 🎜>실행 결과는 1입니다. 현재 이것이 전역 객체가 아니라는 것을 보여주기 위해 코드를 일부 변경했습니다:



코드 복사

코드는 다음과 같습니다. var x = 2; function test(){
this.x = 1;

var o = new test ();

 alert(x); //2


연산 결과는 2로 전역 변수의 값을 나타냅니다. x는 전혀 변경되지 않았습니다.


사례 4 적용 호출


apply()는 함수 개체의 메서드입니다. 해당 함수의 첫 번째 매개 변수는 다음을 나타냅니다. 이 함수가 호출되는 변경된 개체입니다. 따라서 이는 첫 번째 매개변수를 나타냅니다.



코드 복사

코드는 다음과 같습니다.
var x = 0; 🎜> 함수 테스트(){  alert(this.x);  }
 var o={};

 o.x = 1; 🎜>
o.m = test;

o.m.apply(); //0


apply()의 매개변수가 비어 있으면 기본적으로 전역 객체가 호출됩니다. 따라서 이때의 실행결과는 0이 되어 전역객체를 참조하고 있음을 증명한다.

마지막 코드 줄을




코드 복사

코드는 다음과 같습니다.


o.m.apply(o) //1

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