自分用まとめ

http://blog.livedoor.jp/dankogai/archives/51223538.html

ほぼコピペやけど、一応自分用まとめ。



配列みたいなオブジェクトを変数に代入すると参照されるから


var a={x:'バカ',y:'アホ'};
var b=a;
a.x='ボケ';
a.y='ダボ';
alert(b.x + ':' + b.y); //ボケ + ダボ


となっちゃうし


var a={x:'バカ',y:'アホ'};
var b=a;
b.x='ボケ';
b.y='ダボ';
alert(a.x + ':' + a.y); //ボケ + ダボ


となると。要はaもbも参照元が同じだから、どちらかを
修正すると両方に修正が反映されてしまう。
なんで、aの内容をprototypeに持つオブジェクトを作成して、
それをnewしてbに入れてやれば、bの修正はaに影響しないと。
その処理が


var spawn = function(o){
var F = function(){};
F.prototype = o;
return new F;
};


これ。



今日のお疲れ!BGM♪
思えば遠くに来たもんだ/海援隊