SORU
3 Aralık 2008, ÇARŞAMBA


= var functionName function() {} vs function functionName() {}

Son zamanlarda başkasının JavaScript kodu korumak başladım. Bugs özellikler ekleyerek, sabitleme ve ayrıca kod derli toplu ve daha tutarlı hale getirmek için çalışıyorum.

Bir önceki geliştirici ilan fonksiyonları iki şekilde kullanır ve eğer bunun arkasında bir neden var mı yok anlamıyorum.

İki yolu vardır:

var functionOne = function() {
    // Some code
};
function functionTwo() {
    // Some code
}

Bu iki farklı yöntem kullanma nedenleri nelerdir ve her artıları ve eksileri nelerdir? Diğer eliyle yapılması mümkün olmayan bir yöntemle yapılabilecek bir şey var mı?

CEVAP
3 Aralık 2008, ÇARŞAMBA


Fark functionOne functionTwo-zaman ayrıştırmak için bir komut bloğu için de tanımlanır, ancak çalışma zamanı sırasında tanımlanır. Örneğin:

<script>
  // Error
  functionOne();

  var functionOne = function() {
  };
</script>

<script>
  // No error
  functionTwo();

  function functionTwo() {
  }
</script>

Bu da koşullu olarak ikinci sözdizimini kullanarak: fonksiyonlar tanımlayabilirsiniz

<script>
  if (test) {
     // Error or misbehavior
     function functionThree() { doSomething(); }
  }
</script>

Yukarıda aslında testfunctionThree bağımsız use strict etkin değilse, bu durumda sadece bir hata yükseltir.'nin değeri-tanımlar

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006
  • PhoneArena

    PhoneArena

    7 NİSAN 2006
  • FusioNGamiing

    FusioNGamiin

    10 Temmuz 2007