javascript複製オブジェクト
2455 ワード
oldObjは値ではなく対象です.
例えば、var newObj=oldObj;
oldObjを変更したい場合はnewObjに影響しません.
このように関数を書くことができます.
例えば、var newObj=oldObj;
oldObjを変更したい場合はnewObjに影響しません.
このように関数を書くことができます.
function
clone(myObj){
if
(
typeof
(myObj)
!=
'
object
'
)
return
myObj;
if
(myObj
==
null
)
return
myObj;
var
myNewObj
=
new
Object();
for
(
var
i
in
myObj)
myNewObj[i]
=
clone(myObj[i]);
return
myNewObj;
}
このように呼び出します
newObj
=
clone(oldObj)
その後、oldObjの値はどのように変化してもnewObjに影響しません.