たかブログ

webを勉強しています。

thisの意味は状況によって異なる その2. ただの関数で呼び出した時

このthisは 何についてのthis??

jsでよく出てくるthisのパターンの4つを紹介


1.メソッド呼び出し

2.関数呼び出し

3.コンストラクタ呼び出しパターン

4.apply callパターン

今回はその2



関数の中で呼び出された時

注意!!

object.show();

はメソッド,

show();

は関数 
を呼び出している


function show() {
    console.log(this);  
    this.value = 1;
}
show();



結果


Window {postMessage: ƒ, blur: ƒ, focus: ƒ, close: ƒ, parent: Window, …}





メソッドではない関数の中で呼び出したthisは グローバルオブジェクトである





グローバルオブジェクトとは??
  globalオブジェクト
一番の親玉のオブジェクト
グローバル変数やグローバル関数を格納しておくためのオブジェクト 

var str = ‘michi’; グローバル変数
グローバル変数はGlobalオブジェクトというオブジェクトの中に格納されている
グローバル変数でのGlobalオブジェクトはwindowオブジェクト
呼び出すときは、
log(str)でもlog(window.str)でも良い