できるだけ詳しくお願いします。
いろいろ調べてみるとJavaScriptの内部のreference型が関係している?内部のGetValue()が関係しているのか?
var obj = {
func: function() {
alert(this);
}
};
var baz = obj.func;
baz(); // bazがグローバルオブジェクトのプロパティとして呼ばれているので、
// this値がグローバルオブジェクトを指すのは分かります。
obj.func(); // これも一般的なメソッドの呼び出し方であるので、理解できるのですが。
// 下記の1、2、3が分かりません。
(obj.func)(); // 1 [object object]と表示される。
(obj.func , obj.func)(); // 2 [object Window]と表示される。
(obj.func = obj.func)(); // 3 [object Window]と表示される。