JavaScriptは、オブジェクトクローンメソッドを直接提供しません。したがって、次のコードでオブジェクトBが変更されると、オブジェクトAが変更されます。
a = {k1:1、k2:2、k3:3};
b = a;
b.k2 = 4;
Bを変更して一定に保ちたい場合は、オブジェクトaをコピーする必要があります。
jqueryを使用してオブジェクトをコピーします
jQueryを使用できる場合、jquery独自の拡張方法を使用してオブジェクトのコピーを実装できます。
a = {k1:1、k2:2、k3:3};
b = {};
$ .extend(b、a);
Clone()メソッドをカスタマイズして、オブジェクトのコピーを実装します
次の方法は、オブジェクトのコピーの基本的なアイデアです。
object.prototype.clone = function(){var copy =(このinstanceof array)? []:{}; for(this in this){if(!obj.hasownproperty(attr))継続; [attr] =(typeof this [i] == "object")?obj [attr] .clone():obj [attr]; } return copy;}; a = {k1:1、k2:2、k3:3}; b = a.clone();次の例はより包括的であり、ほとんどのオブジェクトの深いコピーに適しています。
function clone(obj){// 3つの単純なタイプを処理し、nullまたはundefined if(null == obj || "object"!= typeof obj)objを返します。 //日付を処理するif(obj instanceof date){var copy = new date(); copy.settime(obj.gettime());コピーを返します。 } //ハンドル配列if(obj instanceof array){var copy = []; for(var i = 0、var len = obj.length; i <len; ++ i){copy [i] = clone(obj [i]); }コピーを返します。 } //オブジェクトを処理するif(obj instanceof object){var copy = {}; for(objのvar attr){if(obj.hasownproperty(attr))copy [attr] = clone(obj [attr]); }コピーを返します。 }新しいエラー(「OBJをコピーできません!そのタイプはサポートされていません。」);}上記の記事JavaScriptのオブジェクトコピー(オブジェクトクローン)の詳細な理解は、私があなたと共有するすべてのコンテンツです。私はそれがあなたに参照を与えることができることを願っています、そしてあなたがwulin.comをもっとサポートできることを願っています。