Bir nesneyi klonlamak için en etkili yolu nedir?
JavaScript bir nesne klonlama için en etkili yolu nedir? obj = eval(uneval(o));
kullanıldığını gördüm, ama şu anda Firefox sadece. 1, 2, obj = JSON.decode(JSON.encode(o));
gibi şeyler yaptım ama Mootools verimliliğini soru.
Ayrıca çeşitli kusurları ile özyinelemeli kopyalama işlevleri gördüm. Hayır kurallı çözümü var şaşırdım.
CEVAP
Not:Bu başka bir cevap, bu soru için uygun bir yanıt değil cevap. Eğer hızlı nesne klonlama istiyorsanız lütfen bu soruya Corban's advice in their answer takip.
.clone()
yöntemi dikkat etmek istiyorumbir WordPress kullanmakelemanları DOM klonlar sadece. JavaScript nesneleri klonlamak için.
// Shallow copy
var newObject = jQuery.extend({}, oldObject);
// Deep copy
var newObject = jQuery.extend(true, {}, oldObject);
Daha fazla bilgi jQuery documentation bulunabilir.
Ben de derin bir kopyasını aslında yukarıda gösterilen Birçok tuzaklar önlemek mümkün değil daha zeki ... (derin bir DOM öğesi, örneğin genişletmeye çalışıyor) dikkat etmek istiyorum. Sık sık büyük etkisi eklentileri jQuery çekirdek ve kullanılır.
HTML elemanları jQuery kullanarak oluş...
/Derin klonlamak için en iyi yolu nedi...
'çiftleri silmek için en etkili y...
Bir veritabanında etiketleri saklamak ...
Üzerinden pandalar ile dataframes döng...