練炭ブログ

萌え壁紙、Irvine、DMonkey、Proxomitron などの情報を扱ってます。

DMonkey: インスタンス['メソッド名']() で this が Global になる

コメントなし»
Global.foo = 'this is Global';

function Foo () { }
Foo.prototype.foo = 'this is Foo';
Foo.prototype.p = function () {
  // alert (nameOf (this));
  alert (this.foo);
};

var a = new Foo ();
a.p ();   // this is Foo

a ['p'] ();   // this is Global

インスタンス.メソッド名() による呼び出しでは this がそのインスタンス自体を指しますが、インスタンス['メソッド名']() では this が Global を指してしまいます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です