머리말: 이것은 JavaScript의 비교적 특별한 키워드입니다. 광범위한 응용 프로그램과 메소드의 유연성으로 인해 강력해졌지만 동시에 사용하기가 어렵습니다 . 처음 배우기 시작했을 때, 완전히 이해하기 위해 많은 정보를 찾아보았습니다. 그럼 배운 내용을 정리해서 이해하기 쉽게 표현했어요. 공부노트로도, 도움이 필요한 아이들의 참고자료로도 활용 가능해요^_^
이게 뭐죠?
이 키워드의 의미는 명확하고 구체적입니다. 즉, 현재 개체 를 나타냅니다. 이는 이것이 특정 상대적인 상황에서만 적용된다는 것을 의미합니다.
이것은 전역 개체, 현재 개체 또는 임의 개체의 세 가지 상황으로 구분됩니다. 어떤 상황에 있는지 판단하는 것은 전적으로 함수 가 호출되는 방식, JavaScript의 기본 함수 호출에 따라 다릅니다. 여러 가지 방법이 있습니다:
일반 함수로 호출
객체 메서드로 호출
생성자로 호출
호출 사용 적용 또는 호출
1. 일반적인 함수 호출로
------가장 일반적으로 사용되는 방법으로 이 호출 방법은 다음에 속합니다. 전역 호출, 이는 위에서 표시된 것처럼 전역 객체
function test(){ this.a = 5; alert(this.a); alert(this); } test(); // 5 [object Window]
를 나타냅니다. 전역적으로 정의된 함수, 함수의 소유자는 현재입니다. 즉, window 객체이므로 example()의 호출 객체는 Window이므로 여기서는 Window를 나타냅니다.
또 다른 작성 방법:
var a = 5; function test(){ var a = 10; alert(this.a); } test(); //5
위와 같이 변수 a도 test() 함수 내부에 선언되어 있지만 test() 호출 결과는 5입니다. 이때 내부 함수는 Window입니다. 그런 다음 다른 방식으로 작성합니다.
var a = 5; function test(){ this.a = 10; } test(); alert(a); //10
test() 함수를 호출하고 전역 변수를 변경합니다. a의 값은 이것이 이때 전역 개체를 나타냄을 나타냅니다.
2. 객체 함수로 호출
------객체가 함수를 호출하면 객체를 가리킵니다
var name="张三"; var person={ name:"李四", showName:function(){ alert(this.name); } } person.showName(); //输出 李四 var other=person.showName; other(); //输出 张三
위에 표시된 대로 person.showName()을 실행한 결과는 Li Si입니다. 이는 showName의 이 항목이 현재 person을 가리킨다는 것을 나타냅니다.
이후; person.showName을 other에 할당하면 other는 전역 변수이므로 window 객체의
속성
으로 간주할 수 있습니다. 따라서 other()를 호출하면 window.other()를 호출하는 것과 동일하므로 이는 창을 가리키고 출력 결과는 Zhang San입니다. 그래서 함수 개체로 호출하면 다음과 같습니다. 호출의 대상을 가리킵니다.
3.
을 생성자로 호출 ------생성자는 이 함수를 통해 새 객체(객체)를 생성하며 이는 이 New 객체를 가리킵니다. ;
function animal(){ this.name = "豆豆"; } var dog = new animal(); alert(dog.name); // 输出 豆豆
위와 같이 new 키워드를 통해
객체 클래스
유형의 객체를 생성하고 할당합니다. 이 생성자를 실행하면 생성자 함수 범위 의 this가 이 객체를 가리키고 여기서는 dog을 가리키므로 this.name은 dog.name과 동일하므로 출력 결과는 bean bean입니다.
4. Apply 또는 call을 사용하여 호출
------apply()는 객체의 한 메서드를 적용하고 다른 메서드를 사용합니다. 객체는 현재 객체를 대체합니다.
var a = "张三"; function test(){ alert(this.a); } var b = {}; b.a = "李四"; b.n = test; b.n(); //李四 b.n.apply(); //张三 b.n.apply(b); //李四
위와 같이: b.n()----호출 객체가 b이므로 이것이 b를 가리킵니다. this.a = = b.a 이므로 결과는 Li Si입니다.
b.n.apply----apply()의 매개변수가 비어 있으면 현재 객체를 대체할 객체가 없으며 기본적으로 전역 객체가 사용됩니다. , 따라서 이것은 창을 가리키며 결과는 Zhang San의 경우
b.n.apply(b)----현재 이 지점을 b로 바꾸는 것을 의미하므로 이는 b를 가리키고 결과는 Li Si입니다.
(본 글은 인터넷을 기준으로 합니다. 내용이나 일부 도서에 오류가 있을 경우 지적해주시면 시간 맞춰 수정하겠습니다. O(∩_∩)O)
요약:
이 글에서는 JavaScript를 소개합니다. 다양한 상황에서 이 키워드의 의미를 보여주는 예는 매우 간단하므로 이해를 깊게 하는 데 도움이 됩니다. 이는 JavaScript의 작은 개념일 뿐이지만 이를 활용하여 JavaScript의 함수 실행 환경을 이해할 수 있습니다. 이에 대한 관련 지식을 완전히 익히면 객체 지향 JavaScript 프로그램을 쉽게 작성할 수 있습니다. 마지막으로 시청해 주셔서 감사합니다.
위 내용은 자바스크립트로 이것의 미스터리를 파싱하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!