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

  • JamesAtiPhone

    JamesAtiPhon

    16 EYLÜL 2010
  • Michael Lummio

    Michael Lumm

    25 Mayıs 2007
  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013