사람을 거울로 삼아 득실을 알 수 있다면 이 문장은 매우 합리적인 것 같습니다. 데모 1: 전역 함수인 경우 창 개체와 동일합니다. 함수에 정의된 다양한 속성이나 메서드는 이 함수를 호출해야 하는 경우 함수 외부에서 액세스할 수 있습니다. . 코드 복사 코드는 다음과 같습니다. <br>//함수에서 이것을 사용하세요 <br>function a() { <br>if (this == window) { <br>alert("this == window"); <br> this.fieldA = "저는 필드입니다"; <br>this.methodA = function() { <br>alert("저는 함수입니다") <br>} <br>} <br> a(); //a 메소드가 호출되지 않으면 내부에 정의된 속성을 사용할 수 없습니다. <br>alert(window.fieldA) <br> 데모 2: new를 사용하여 개체를 인스턴스화하는 경우 이는 창 개체와 동일하지 않으며 함수 a의 인스턴스를 가리킵니다. 코드 복사 코드는 다음과 같습니다. 함수 <div class="codebody" id="code6121"> function a() { <br>if (this == window) { <br>alert("this == window") <br>} <br>else { <br>에서 이 부분을 사용하세요. Alert("this != window") ; <br>} <br>this.fieldA = "저는 필드입니다." <br>} <br>var b = new a()>alert(b) .fieldA); <br><br> <br>데모 3: <br>이를 사용하여 소스 객체의 인스턴스를 얻을 수 없습니다. 프로토타입 체인을 통해 획득 <br><br> </div> <br><br>코드 복사<br><div class="codetitle"> <span> 코드는 다음과 같습니다.<a style="CURSOR: pointer" data="84094" class="copybut" id="copybut84094" onclick="doCopy('code84094')"><u> </u><스크립트 유형 ="text/javascript"> </a>//함수 3에서 사용</span>function a() { </div>this.fieldA = "나는 필드입니다" <div class="codebody" id="code84094">var privateFieldA = "I' m a var"; <br>} <br>a.prototype.ExtendMethod = function(str) { <br>alert(str " : " this.fieldA); <br>alert(privateFieldA); //오류<br>}; <br>var b = new a(); <br> b.ExtendMethod("프로토타입에서") <br> 데모 4: 함수를 직접 참조하든 함수를 인스턴스화하든 클로저가 반환됩니다. 함수의 모든 항목은 창을 가리킵니다 코드 복사 코드는 다음과 같습니다: == 창); </u>var that = this; </a> var func = function() { </span>alert(this == window) </div>alert(that) <div class="codebody" id="code23615"> return func; <br>} <br>var b = a() <br>var c = new a() <br> 데모 5: in HTML에서 사용되며 일반적으로 요소 자체를 나타냅니다. 코드 복사 코드는 다음과 같습니다. < div onclick="test(this)" id="div">Click Me "text/javascript"> function test(obj) { alert(obj) 데모 6: >IE 및 Firefox(Chrome)에서 이벤트를 등록합니다. 이는 각각 창과 요소 자체를 가리킵니다. 코드 복사 코드는 다음과 같습니다. 다음과 같습니다: 나를 클릭하세요< /div> .getElementById("div"); </div>if (div.attachEvent) { <br>div.attachEvent( "onclick", function() { <br>alert(this == window); <br>var e = 이벤트; <div class="codetitle">alert(e.srcElement == this); <span>} <a style="CURSOR: pointer" data="87299" class="copybut" id="copybut87299" onclick="doCopy('code87299')">if (div.addEventListener) { <u>div.addEventListener("click", function(e) { </u>alert(this == 창); </a>e = e; </span>alert(e .target == this) </div>} <div class="codebody" id="code87299"></ script> <br><br> <br>위는 자바스크립트에서 이에 대한 다양한 적용 시나리오를 요약한 것입니다. 나중에 찾으면 추가하겠습니다.</div>