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 = (этот экземпляр массива)? []: {}; для (attr в этом) {if (! obj.hashownproperty (attr)) продолжить; копировать [attr] = (typeof this [i] == "Object")? obj [attr] .clone (): obj [attr]; } return Copy;}; a = {k1: 1, k2: 2, k3: 3}; b = a.clone ();Следующие примеры являются более всеобъемлющими и подходят для глубокого копирования большинства объектов.
Функциональный клон (obj) {// обрабатывать 3 простых типа и нулевые или неопределенные if (null == obj || "объект"! = typeof obj) вернуть obj; // Обработка дата if (obj ancessionof date) {var copy = new Date (); copy.settime (obj.gettime ()); вернуть копию; } // Обработка массива if (obj ancessionof array) {var copy = []; for (var i = 0, var len = obj.length; i <len; ++ i) {copy [i] = клон (obj [i]); } return Copy; } // Обработка объекта if (obj ancessionof object) {var copy = {}; for (var attr in obj) {if (obj.hashownproperty (attr)) copy [attr] = клон (obj [attr]); } return Copy; } бросить новую ошибку («Невозможно скопировать OBJ! Его тип не поддерживается.»);}Приведенная выше статья глубокое понимание копирования объекта (клон объекта) в JavaScript-это все контент, которым я делюсь с вами. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.