練炭ブログ

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

DMonkey: 変数経由のnew演算子

コメントなし»
function Foo () {
  alert ('Foo constructor');
}
Foo.prototype.p = function () {
  alert ("this is Foo\nnameOf = " + nameOf (this));
};

function Baz () {
  alert ('Baz constructor');
}
Baz.prototype.p = function () {
  alert ("this is Baz\nnameOf = " + nameOf (this));
};

function test () {
  var f = new Foo ();  // Foo constructor
  f.p ();  // this is Foo, nameOf = Foo

  var Bar = Foo;
  var f2 = new Bar ();  // Foo constructor
  try { f2.p (); } catch (e) { alert (e); }  // ENameError

  var Baz = Foo;
  var f3 = new Baz ();  // Foo constructor
  f3.p ();  // this is Baz, nameOf = Baz
}
test ();

変数に関数を代入してその変数名で new すると、参照している関数がコンストラクタとして呼び出されますが、prototype として使われるのはその変数名と同名の関数の prototype になってしまいます。

名前付き関数式はグローバルスコープに対する関数宣言として動作する の末尾のエラー例も、これと同じことだと思います。

萌え壁紙 新着情報

コメントなし»

リアルフォース・イグニッション|ラノベ文庫
壁紙 〆鯖コハダ

ファミ通文庫◆FB Online◆
3月のオマケ
『奈落英雄のリベリオン』オリジナルiPhone用壁紙
『神武不殺の剣戟士』オリジナルiPhone用壁紙
3月の壁紙
『奈落英雄のリベリオン』夕薙
『神武不殺の剣戟士』有坂あこ
『ものぐさ寝猫の怠惰な探偵帖』Hisasi

DMM.R18
Dキャラめ~る。購読者限定特典 左利き
ダウンロード期限:2014年02月28日

アリスソフト 公式サイト
ブログの2014年02月19日に『妻みぐい』スペシャル壁紙

AXL
『レーシャル・マージ』Twitter 壁紙

CandySoft-きゃんでぃそふと-オフィシャルホームページ
『つよきすNEXT』女性(?)キャラクター人気投票1位記念壁紙

Purple software
『ハピメア -Fragmentation Dream-』壁紙