oldObj は値ではなくオブジェクトです
たとえば、var newObj=oldObj;
newObj に影響を与えずに oldObj を変更したい場合は、次のような関数を作成できます
function clone(myObj){
if(typeof(myObj) != 'object') return myObj ;
if(myObj == null) return myObj;
for(var i in myObj)
myNewObj[i] = クローン(myObj[i]) ;
return myNewObj;
}
その後、oldObj の値に関係なく、
newObj=clone(oldObj) を呼び出します。 newObj
JavaScript コピー オブジェクト
構文:
oElement = object . cloneNode ( bCloneChildren )
パラメーター:
bCloneChildren : オプション。ブール値。 false | true
false : デフォルト値。オブジェクトのクローンを作成する場合、オブジェクトの childNodes コレクションは含まれません。つまり、そのすべての子オブジェクトです。
true : オブジェクトのクローン作成時にオブジェクトの childNodes コレクションを含めます。つまり、そのすべての子オブジェクトです。
戻り値:
oElement : オブジェクト(要素)。新しいクローンオブジェクトへの参照を返します。
説明:
ドキュメント構造内のオブジェクトのクローンを作成します。
クローン作成後、クローンされたオブジェクトの ID を取得すると、コレクションが返されます。
このメソッドは実行時に使用しても問題ありません。ドキュメント空間は、オブジェクトの終了タグが解析されるまでレンダリングされない場合があります。
サンプルコード: