自分用まとめ
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♪
思えば遠くに来たもんだ/海援隊