Какой самый эффективный способ клонировать JavaScript-объект?

Вариант из jQuery подойдёт? Для начала следует на всякий случай отметить, что в jQuery есть метод .clone(), но он всего лишь клонирует элементы DOM. Для клонирования объекта на JavaScript можно сделать так:

// Поверхностное копирование
var newObject = jQuery.extend({}, oldObject);
// Глубокое копирование
var newObject = jQuery.extend(true, {}, oldObject);

Больше информации можно найти в документации по jQuery.

Я всего лишь коротко отмечу, что глубокое копирование намного умнее, чем поверхностное — оно может помощь избежать много неожиданностей (например, при попытках расширить элементы DOM и т.п.). Именно глубокое копирование используется чаще всего в ядре jQuery и плагинах.

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector