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

  • BurnedInDotCom

    BurnedInDotC

    3 NİSAN 2010
  • Juan Carlos Candela Bordera

    Juan Carlos

    4 Mart 2009
  • Watcher3223

    Watcher3223

    15 Kasım 2007