SORU
24 AĞUSTOS 2011, ÇARŞAMBA


While döngüsünde döngü yerine

Aşağıdaki kod parçası sendeledi jQuery kaynak (kullanılabilir here) okuma:

for (; i < length;) {
    if (callback.apply(object[i  ], args) === false) {
        break;
    }
}

Neden for döngü burada while döngü yerine kullanılır?

CEVAP
24 AĞUSTOS 2011, ÇARŞAMBA


Birisi benzeşme kötü kodlama stili için bir olması için oy veriyorum. for döngü i içinde bir dizi indis konuyor hem de görebiliyorum tek Açıklaması Bu. Bu daha iyi olurdu bence

while (i < length && callback.apply(object[i], args)) {
    i  ;
}

Veya orijinal örnek === operatör değer olduğunu hissetmek için ne ise, o zaman:

while (i < length && callback.apply(object[i], args) !== false) {
    i  ;
}

Bunu yapmak için başka bir olası nedeni bir performans iyileştirmesi olabilir. Bu hızlı olmasına rağmen araya getirdiğim benchmark bu teoriyi çürütmek gibi görünüyor. IE ve Firefox while döngü yukarıda Krom for orijinal döngü oranla daha hızlı Windows, her iki döngüler aynı gerçekleştirin. X for döngü Firefox 'luk bir avantajı var OS, Chrome, bu ikisi arasında fark yok, ve Safari %6 while döngü tercih ediyor.

Performans açısından bir yıkayın. O zaman da pazar payı bakılırsa muhtemelen bu durumda while döngü tercih olurdu Mac, Firefox için optimize önce Windows üzerinde Chrome için optimize etmek isterim.

Performans optimizasyonu bu kod ile bir faktör oynadı pek olası değil benim için diyor. Ve sadece kötü kodlama tarzı kod Gözden Geçirme süreci geçmiş bunu yaparken bir örnek oldu Bu benim orijinal teorisine geri dönüyorum.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boogie2988

    boogie2988

    6 NİSAN 2006
  • FILIPeeeK

    FILIPeeeK

    22 Mayıs 2006
  • JamesAtiPhone

    JamesAtiPhon

    16 EYLÜL 2010