객체지향 프로그래밍 언어에서는 this 키워드에 매우 익숙합니다. 예를 들어 C, C#, Java 모두 이 키워드를 제공합니다. 학습 초기에는 어렵지만 일단 이해하고 나면 사용하기가 매우 편리하고 의미가 있습니다. JavaScript도 이 키워드를 제공하지만 기존 OO 언어보다 사용하기가 훨씬 더 "혼란"합니다.
JavaScript에서 이것을 사용하는 다양한 방법에 대해 혼란스러운 점을 살펴보겠습니다.
1. HTML 요소 이벤트 속성에 이 키워드 인라인을 사용합니다.
Division 요소
여기서 사용하는 가장 일반적인 방법은 javascirpt: EventHandler(this) 형식입니다. 그러나 실제로 여기에서 합법적인 JavaScript 문을 작성할 수 있습니다. 여기에서 클래스를 정의할 수 있습니다(그러나 이는 내부 클래스가 됩니다). 여기서 원칙은 스크립트 엔진이 div 인스턴스 개체의 익명 멤버 메서드를 생성하고 onclick이 이 메서드를 가리킨다는 것입니다.
2. DOM을 사용하는 이벤트 처리 함수에서 this 키워드를 사용하세요.
이때 EventHandler() 메소드의 this 키워드는 해당 객체가 IE의 윈도우 객체임을 나타냅니다. 이는 EventHandler가 단지 일반 함수이기 때문입니다. attachmentEvent 이후 스크립트 엔진의 호출은 div 개체 자체와 관련이 없습니다. 동시에 null과 동일한 EventHandler의 호출자 속성을 볼 수 있습니다. 이 메소드에서 div 객체 참조를 얻으려면 this.event.srcElement를 사용해야 합니다.
3. DHTML을 사용하여 이벤트 처리 함수에서 다음 키워드를 사용합니다.
division element