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

  • 30GB

    30GB

    14 AĞUSTOS 2006
  • Apple

    Apple

    22 HAZİRAN 2005
  • Jason Rosolowski

    Jason Rosolo

    25 EKİM 2006