SORU
28 ŞUBAT 2011, PAZARTESİ


'Dizisi kullanımı ne.prototip.dilim.çağrı(dizi, 0)?

Sadece Cızırtı kaynak kodu tarama ve bu kod satırı geldi:

array = Array.prototype.slice.call( array, 0 );

Baktım ne işlevi vardır, ama geldim için sonuç bu sadece döner tüm öğeleri bir dizi başlatılmasını dizin 0 ve koyar bütün halinde bir dizi, yani gerçekten yok bir şey.

Bu nedenle bu kod satırı ne işe yarar? Neyi kaçırıyorum?

Düzenleme:https://github.com/jquery/sizzle/blob/master/sizzle.js#L863 çizgi 863.

CEVAP
28 ŞUBAT 2011, PAZARTESİ


DOM genellikle getElementsByTagName gibi çoğu işlem için NodeList döndürür.

NodeList neredeyse bir dizi gibi hissediyor olsa da, değil. Bir length özelliği gibi bir dizi geliyor, ve bir yöntem item(index) bir nesneye verilen dizini (ayrıca erişilebilir ile [index] gösterim), ama bu benzerlik biter.

Bu yüzden onları NodeList üzerinde bir satır için yeniden yazma olmadan array methods harika kullanabilmek için yararlıdır.

Bir dizi dönüştürerek başka bir kullanım listesi statik yapmaktır. NodeLists genellikle canlı, eğer belge değişiklikleri ortaya çıkarsa, NodeList nesnesinin otomatik olarak güncellenir anlamına gelir. Eğer bir WordPress kullanmak bir nesne size iade ederse gözünün önünde değiştirme tuttu sorunlara neden olabilir. NodeLists ve liveness test etmek için snippet aşağıdakileri deneyin.

var p = document.getElementsByTagName('p');
console.log(p.length); // 2
document.body.appendChild(document.createElement('p'));
// length of p changes as document was modified
console.log(p.length); // 3

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Authority

    Android Auth

    3 NİSAN 2011
  • BSA

    BSA

    9 NİSAN 2012
  • Makeup Lover

    Makeup Lover

    12 HAZİRAN 2011