O JavaScript não fornece diretamente métodos de clone de objeto. Portanto, quando o objeto B é alterado no código a seguir, o objeto A é alterado.
a = {k1: 1, k2: 2, k3: 3};
b = a;
B.K2 = 4;
Se você deseja apenas alterar B e manter uma constante, precisará copiar o objeto a.
Use jQuery para copiar objetos
Quando o jQuery pode ser usado, o método de extensão do JQuery pode ser usado para implementar a cópia de objetos.
a = {k1: 1, k2: 2, k3: 3};
b = {};
$ .Extend (b, a);
Personalize o método clone () para implementar a cópia de objetos
O método a seguir é a idéia básica de cópia de objetos.
Object.prototype.clone = function () {var copy = (esta instância de matriz)? []: {}; para (attr neste) {if (! obj.HasownProperty (att)) continue; cópia [att] = (tipo de este [i] == "objeto")? obj [att] .clone (): obj [att]; } retornar cópia;}; a = {k1: 1, k2: 2, k3: 3}; b = a.clone ();Os exemplos a seguir são mais abrangentes e são adequados para a cópia profunda da maioria dos objetos.
clone da função (obj) {// manipula os 3 tipos simples e nulo ou indefinido if (null == obj || "objeto"! = typeof obj) return obj; // manipula a data se (obj instanceof date) {var cópia = new Date (); copy.setTime (obj.getTime ()); cópia de retorno; } // manipula a matriz if (obj instayof Array) {var copy = []; for (var i = 0, var len = obj.length; i <len; ++ i) {copy [i] = clone (obj [i]); } Retornar cópia; } // manipula objeto if (obj instanceof object) {var cópia = {}; for (var att em obj) {if (obj.hasownProperty (att)) cópia [att] = clone (obj [att]); } Retornar cópia; } lançar um novo erro ("Não é possível copiar OBJ! Seu tipo não é suportado.");}O artigo acima detalhado da cópia de objetos (clone de objeto) no JavaScript é todo o conteúdo que compartilho com você. Espero que possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.