[Javascript]これについて

5292 ワード

これについて


これは状況によって絶えず変化する.この点を理解するためにconsole.いろんなところでロゴを撮りましょう
グローバルコンテキスト(
  • windowグローバルオブジェクトなど)で呼び出されたthis
    グローバルコールthisの場合、windowオブジェクトと同じ結果が生成されます.
  • // console.log(window); 와 같다.
     console.log(this);
  • object内部のthis
    object内部thisはそのobject自身を指す.
  • let person = {
    	firstName: "",
      	lastName: "",
      	fullName: function(){
        	return this.firstName + " " + this.lastName;
        }
    };
    
    console.log(person.fullName());
  • 関数内部のthis
    function内部のthisはglobalが宣言したthisと同じで、windowオブジェクトを表します.
    関数内部関数のthisもwindowです.
  • function thisFunction() {
    	console.log(this); // this는 window
    
      	function insideFunc(){
        	console.log(this); // this는 window
        }
    }
  • アクティブリスナーのthis
    イベントリスナーでは、イベントを刺激するオブジェクトになります.
    たとえばbuttonのonclickでこれを宣言した場合、要素を表します.
  • // 해당 this는 속해있는 element인 button을 뜻하므로, button의 배경색이 blue가 된다.
    <button type="button" onclick="this.style.backgroundColor="blue">클릭1</button>
    
    // callFunc에 this를 던져주는데, this는 해당 element인 button이다.
    <button type="button" onclick=callFunc(this)>클릭2</button>
    
    function callFunc(obj){
    	console.log(obj)
    }