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

  • CruzerLite

    CruzerLite

    1 EKİM 2011
  • manadude21

    manadude21

    11 Mart 2008
  • YAN TV

    YAN TV

    20 EKİM 2011