volvoxco回答ポイント なしウォッチ

下記の関数呼び出しコードの2、3がなぜがグローバルオブジェクト(この場合はWindowオブジェクト)を指すのですか?また1のコードがobject(この場合はobj)を指すのですか?

できるだけ詳しくお願いします。
いろいろ調べてみると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]と表示される。

ログインして回答する
回答がありません

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2013-08-26 05:20:33
終了日時
2013-09-02 05:25:03
回答条件
1人5回まで

この質問のカテゴリ

この質問に含まれるキーワード

JavaScript2781関数2326メソッド515オブジェクト658プロパティ805

人気の質問

メニュー

PC版