1. 메소드 안 : 메소드를 소유한 object
this : object person
| 1 2 3 4 5 6 7 8 | var person = {   firstName: "John",   lastName : "Doe",   id     : 5566,   fullName : function() {     return this.firstName + " " + this.lastName;   } }; | cs | 
2. alone(어디에도 속하지 않을 때?) : 전역 객체 (window)
| 1 2 3 4 | <script> var x = this; document.getElementById("demo").innerHTML = x; </script> | cs | 
3. 함수 안 : 전역 객체 (window)
| 1 2 3 4 5 6 | <script> document.getElementById("demo").innerHTML = myFunction(); function myFunction() {   return this; } </script> | cs | 
4. 함수 안 (strict mode) : undefined
| 1 2 3 4 5 6 7 | <script> "use strict"; document.getElementById("demo").innerHTML = myFunction(); function myFunction() {   return this; } </script> | cs | 
5. event 안 : event를 받는 element
this : button
| 1 2 | <button onclick="this.style.display='none'">Click to Remove Me!</button> | cs | 
6. call(), apply() : any object (그 어떤 객체도 의미 가능)
| 1 2 3 4 5 6 7 8 9 10 11 | var person1 = {   fullName: function() {     return this.firstName + " " + this.lastName;   } } var person2 = {   firstName:"John",   lastName: "Doe", } var x = person1.fullName.call(person2);  document.getElementById("demo").innerHTML = x;  | cs | 
call(), apply() : https://www.zerocho.com/category/JavaScript/post/57433645a48729787807c3fd
출처 : https://www.w3schools.com/js/js_this.asp
반응형
    
    
    
  'front > javascript' 카테고리의 다른 글
| [jQuery] radio에 onchange 적용하기(선택받지 못한 radio 값 지우기) (0) | 2019.11.15 | 
|---|---|
| [javascript] strict mode(엄격모드) 란? (0) | 2019.11.15 | 
| [javascript] 자바스크립트의 Scope 정리 (0) | 2019.11.12 | 
| [javascript] 호이스팅(hoisting)이란? (0) | 2019.11.11 | 
| [javascript] typeof (0) | 2019.11.11 |