5

jQuery'de bir işlev var, örn.jQuery'de değişkenleri ve işlevleri silme

var asd; 

function dosomething(){ 
    for (i=0;i<=1000000;i++) 
    { 
    asd[i] = "(2^i)"; 
    } 
} 

İşlevden sonra değişkenleri nasıl belirleyebilirim? Bununla

delete $asd;

i bellekten değişkeni temizleyebilir.

Ancak jQuery'de işlevin yok edicisine ulaşabilirim ve işlevin yıkıcıdaki tüm işlevi nasıl kaldırabilirim?

NEDEN

fonksiyonu ve tüm global değişkenler bir komut dosyası çalıştırdıktan sonra bellekte bulunmaktadır.
Konsolda bir şey çalıştırırsam, dom hazır olduktan sonra - tüm değişkenler hala bellekte olduğundan - program çalışır.

Bu nedenle, işlevin desctructor'ındaki değişkenleri silmek, ardından işlevi sıfırlamak veya null yapmak istiyorum.

Tüm komut dosyasını bellekten temizleyeceğinden, sayfam daha hızlı olacaktır. 100 fonksiyon ve 800 global değişken gibi tek bir fonksiyondan biraz daha büyük veri yapısı düşünün. Gösterildikten sonra, artık değişkenlere ihtiyacım yok. tanımsız için

+1

Bunu "asd" değil "$ asd" olarak adlandırdığınızı unutmayın. – pimvdb

+0

Belki de şu an soruyu anlamıyorum, ancak işlevden çıktıktan sonra çöp toplama için yerel değişkenler silinmemiş veya işaretlenmemiş mi? – JJJ

+1

Bir işlevde 'silme 'nasıl çağırılacağını soruyor musunuz? Denenmiş pencere ['dosomething'] '? – Sorpigal

cevap

19

Seti it:

asd = undefined; 

Güncelleme bir işlev unset için yapın:

myFunction = undefined; 

Sen parantez gerekmez. Yorumunuzda, undefined

+7

Tanımlanmamış yanlış yazıldınız .. – betamax

+4

Oh ironi ^^ – Matt

+0

Ah evet. Kazandın. –

0

Eşleşen öğelerin kümesini DOM'dan kaldırın. .remove ([selector]) öğesini kullanın.

Bu yardımcı olur umarım.

+3

OP, bir öğenin kaldırılmasını değil, bir öğenin kaldırılmasını soruyor –

İlgili konular