Objectのいろんな初期化方法(まとめ)
1.連想配列による初期化
var o1 = new Object(); o1["msg"] = "hello1"; o1["run"] = function(){alert("run1")}; alert(o1.msg); o1.run()
2.連想配列よる一括初期化
var o2 = { msg:"hello2", run:function(){alert("run2")} }; alert(o2.msg); o2.run();
3.コンストラクタによる初期化
var o3 = new function(){ this.msg = "hello3"; this.run = function(){alert("run3")} } alert(o3.msg); o3.run()
4.暗黙の初期化
var o4 = new Object(); o4.msg = "hello4" o4.run = function(){alert("run4")} alert(o4.msg); o4.run()
5.プロトタイプによる初期化
function DummyObject(){}; DummyObject.prototype.msg = "hello5" DummyObject.prototype.run = function(){alert("run5")}; var o5 = new DummyObject; alert(o5.msg); o5.run()
やっぱり
スコープと見やすさで一番いいのはやっぱり2.かな。
ちなみにprototype.jsでは新規では2.で、拡張のときは5.を使ってる。