javascriptのオブジェクトの複製を Object.clone = function(source) { return $.extend({},source); }で空オブジェクトにコピーしてましたが、 このままだとシャローコピーだったのでハマッタヨ。 ガシカーシ、jQueryのソース眺めてたら。。。オッ $.extendの一つ目の引数にtrueを追加しとくとディープコピーになるっぽい。 ということで、 Shallow Clone Object.shallowCopy = function(source) { return $.extend({},source); } var a = {a:{a:1},b:{a:1}}; var b = Object.shallowCopy(a); b.a.a = 2; window.alert(a.a.a); //2 window.alert(b