JavaScript オブジェクトを複製するための 3 つの方法のまとめ_JavaScript スキル

WBOY
リリース: 2016-05-16 18:12:06
オリジナル
978 人が閲覧しました

方法 1

コードをコピー コードは次のとおりです。

function clone(obj){
var o;
switch(typeof obj){
case '未定義': Break;
case 'string' : o = obj '';
case 'number' : o = obj - 0 ;break;
case 'boolean' : o = obj;break;
case 'object' :
if(obj === null){
o = null; }else{
if(obj instanceof Array){
o = [];
for(var i = 0, len = obj.length; i
o. Push(clone (obj[i]));
}
}else{
o = {};
for(var k in obj){
o[k] = clone( obj[k ]);
}
}
デフォルト:
o = obj;break;
}


方法 2



コードをコピー
コードは次のとおりです: function clone2( obj){ var o, obj; if (obj.constructor == Object){
o = new obj.constructor();
>o = 新しい obj.constructor(obj.valueOf());
for(obj の var key){
if ( o[key] != obj[key] ){
if ( typeof(obj[key]) == 'object' ){
o[key] = clone2(obj[key])
}else{
o[key] = obj[key]; ;
}
}
}
o.valueOf = obj.valueOf;


方法 3




コードをコピーします


コードは次のとおりです。


function clone3( obj){
function Clone( ){} Clone.prototype = obj; var o = new Clone(); for(var a in o){ if(typeof o [a] == "オブジェクト") { o[a] = clone3(o[a]) }
}
return
}

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート