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

  • Carlos Delgado

    Carlos Delga

    21 HAZİRAN 2011
  • Tome Rodrigo

    Tome Rodrigo

    9 Temmuz 2006
  • XxMinayaxX1

    XxMinayaxX1

    9 Mayıs 2012