2013-10-03から1日間の記事一覧

勘違いしがちなケース

以下の関数呼び出しのthisは一見するとobjを指すように思えるが、実際は前述の「パターン1」の呼び出しであるためthisはGlobalObjectを指す。 var obj = { testMethod: function() { var func = function(){ console.log(this); }; func(); } }; obj.testMet…

new演算子によるオブジェクト生成について

new演算子によるオブジェクト生成は関数呼び出しではないため、オブジェクト初期化の実行時には前述の全てを無視して、生成されるオブジェクトがthisになる。 var func = function(){ console.log(this); }; var obj = {}; obj.funcMethod = func; // パター…

具体的には何が代入されるのか

以下のコードを見よ。 var func = function(){ console.log(this); }; var obj = {}; obj.funcMethod = func; // パターン1. 通常呼び出し func(); // ... thisは、GlobalObject(通常はwindowオブジェクト) // パターン2. オブジェクトのメソッドとして呼び…

thisとは何か

関数の実行前に、関数の呼び出し方によって何かのオブジェクトが自動的に代入される変数。 基本的には関数の呼び出され方によって、暗黙的に決まる。

javascriptのthisについてのまとめ