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

  • Jared Busch

    Jared Busch

    25 Mayıs 2011
  • Semantic Mastery

    Semantic Mas

    30 EKİM 2013
  • The Dubstep FX

    The Dubstep

    5 Mart 2011