JavaScript fonksiyonlarını ile tanımlanır function anahtar kelime.
Bir işlev bildirimi veya işlev ifadesini kullanabilirsiniz.
Fonksiyon Bildirimleri
Daha önce bu eğitimde, sen işlevleri aşağıdaki yazım ilan öğrendik:
function functionName ( parameters ) {
code to be executed
}
Beyan fonksiyonlar hemen yürütülmez. Onlar edilir "saved for later use" ve onlar çağrıldığında sonra çalıştırılacaktır (called upon) .
Noktalı virgül yürütülebilir JavaScript ifadeleri ayırmak için kullanılır.
Bir işlev bildirimi yürütülebilir bir deyim olmadığı için, bir noktalı virgül ile ayrılık yaygın değildir.
İşlev ifadeleri
Bir JavaScript işlevi de ifade kullanılarak tanımlanabilir.
Bir fonksiyon ifade, bir değişken saklanabilir:
bir işlevi, ifade bir değişkende kaydedildikten sonra, değişken bir fonksiyonu olarak kullanılabilir:
Yukarıdaki işlev aslında anonim bir fonksiyon (isimsiz bir işlev) 'dir.
değişkenlerde saklanan Fonksiyonlar işlev adlarını gerekmez. Onlar her zaman çağrılır (called) değişken adını kullanarak.
o yürütülebilir bir ifadenin bir parçası olduğu için fonksiyon yukarıdaki noktalı virgül ile biter.
Function() Yapıcı
Önceki örneklerde gördüğümüz gibi, JavaScript fonksiyonları ile tanımlanır function anahtar kelime.
Fonksiyonlar da bir JavaScript yerleşik fonksiyon yapıcısı olarak adlandırılan ile tanımlanabilir Function() .
Örnek
var myFunction = new Function("a", "b", "return a *
b");
var x = myFunction(4, 3);
Kendin dene " Aslında fonksiyon kurucusunu kullanmak gerekmez. Yukarıdaki örnekte, yazı olarak aynıdır:
Çoğu zaman, kullandığınız önleyebilirsiniz new JavaScript anahtar kelime.
Function Hoisting
Daha önce bu eğitimde, sen öğrendik "hoisting" .
Kaldırma geçerli kapsamı üstüne beyanlarını hareketli JavaScript'in varsayılan davranıştır.
Kaldırma değişken beyanlarına ve işlev bildirimleri için geçerlidir.
beyan önce bu nedenle, JavaScript fonksiyonları çağrılabilir:
myFunction(5) ;
function myFunction(y) {
return y * y;
}
Bir ifade kullanılarak tanımlanır Fonksiyonlar çekilir değildir.
Kendinden çağırma Fonksiyonlar
İşlev ifadeleri yapılabilir "self-invoking" .
Kendinden yürütmesini ifade çağrılır (started) denilen edilmeden, otomatik.
Ifadesi izlerse İşlev ifadeleri otomatik olarak çalıştırır () .
Bir işlevi bildirimi kendini çağırmak olamaz.
Bunu bir işlev ifadesi olduğunu belirtmek için fonksiyon etrafında parantez eklemek zorunda:
Yukarıdaki işlev aslında isimsiz kendinden yürütmesini fonksiyonu (isimsiz fonksiyon) 'dir.
Fonksiyonlar Değerler olarak el Olabilir
JavaScript işlevleri değerler olarak kullanılabilir:
JavaScript işlevleri ifadelerde kullanılabilir:
Fonksiyonlar Nesneler vardır
typeof JavaScript operatör döner "function" fonksiyonları için.
Ama, JavaScript fonksiyonları iyi nesneler olarak tanımlanabilir.
JavaScript fonksiyonları özellikleri ve yöntemleri de var.
arguments.length özelliği fonksiyonu çağrıldığında parametre sayısı alınan verir:
toString() yöntemi, bir dizi olarak işlev verir:
Bir nesnenin özelliği olarak tanımlanan bir fonksiyon, bir nesneye bir yöntemi olarak adlandırılır.
Yeni nesneler oluşturmak için tasarlanmış bir fonksiyon, bir amacı yapıcı olarak adlandırılır.