Ne kadar hızlı Javascript bir Nesne temizlemek için? | Netgez.com
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

  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • stewmurray47

    stewmurray47

    1 Kasım 2006
  • William Hyde

    William Hyde

    23 HAZİRAN 2008