SORU
26 Mart 2009, PERŞEMBE


Ne kadar hızlı Javascript bir Nesne temizlemek için?

Javascript bir Dizi ile, tek bir atama ile boş bir devlet için bunu yapabilirim:

array.length = 0;

Bu Dizi "" ve yeniden boş hazır, ve anladığım kadarıyla bir tek "operasyon", yani sabit zaman. görünmesini sağlar

Benzer bir şekilde JS bir Nesne temizlemek için var mı? Alanları silmeden yineleme biliyorum:

for (var prop in obj) { if (obj.hasOwnProperty(prop)) { delete obj[prop]; } }

ama bu doğrusal karmaşıklık var.

Ayrıca sadece nesne atmak ve yeni bir tane oluşturabilirsiniz:

obj = {};

"" Yeni nesneler IE6. Çöp Toplama ile ilgili sorunlara yol açar karışık ama (As described here)

CEVAP
26 ŞUBAT 2013, Salı


İşler çok kolay yapma riski...

for (var member in myObject) delete myObject[member];

...korkunç parantez en az bir satır kod nesne temizliğinde oldukça etkili olacak gibi görünüyor. Tüm üyeler gerçekten çöp gibi sol yerine silinecektir.

Eğer nesnenin kendisi silmek isterseniz belli ki, hala ayrı bir silme yapmak zorundasın bunu.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kimberly p

    kimberly p

    23 Ocak 2010
  • undrmyumbrellaa

    undrmyumbrel

    25 Temmuz 2012
  • Video-Tutorials.Net

    Video-Tutori

    15 Mart 2011