javaScript Anonim Fonksiyonlar

Anonim fonksiyonlar isim belirtmeksizin oluşturulabilen fonksiyonlardır. Çoğunlukla callback (geriçağırım fonksiyonu) olarak fonksiyon parametrelerinde kullanılırsa da kullanımı bununla sınırlı değildir.

Lambda nedir?


Bir Lambda, bir değişkene atanabilen veya başka bir fonksiyona argüman olarak geçirilebilen isimsiz bir fonksiyondur. python veya Ruby gibi diğer programlama dillerine aşina iseniz, isimsiz fonksiyonları çok iyi bileceksiniz.

Anonim fonksiyonlar


Anonim bir fonksiyon, sadece adı olmayan bir fonksiyondur.

Bir javaScript geliştiricisi olarak, normal bir fonksiyonun ne olduğunu ve nasıl tanımlandığını biliyor olmalısınız. Bunun gibi düzenli bir javaScript fonksiyonu oluşturabiliriz.


function Selam(){

//Kodlar...

}

Düzenli bir fonksiyon tanımladığınızda ona bir ad verirsiniz. Temel fark isminden de anlaşılacağı üzere Anonim fonksiyonlar olmasıdır, yani adı yoktur. Anonim fonksiyon nasıl tanımlanır:


function ($parametre1, $parametre2){

//Kodlar...

}

Anonim fonksiyonlar normal fonksiyonlara benzer, çünkü çağrıldığında çalıştırılan kod bloğunu içerirler. Ayrıca argümanları kabul edebilir ve değerleri döndürürler. Anonim fonksiyonları değişkene atayarak kullanılır.


$Selam = function ($parametre1, $parametre2){

//Kodlar...

}

Yukarıda ki tanım yapılmış örnek'de kod tamamen geçerli olsa da, çok kullanışlı değildir. Anonim fonksiyonun adı olmadığından kodunuzda başka bir yerde çalıştıramazsınız.

Bununla birlikte, isimsiz bir fonksiyon bir ifade veya bir dize gibi bir ifade olduğundan, onunla çeşitli kullanışlı kodlar yazabilirsiniz. Örnek olarak şunları yapabilirsiniz:

Bir dizinin içinde birkaç fonksiyon bile ekleyebilirsiniz, şunun gibi: 3 isimsiz fonksiyonu bir diziye ekleyin:


var dizi =[

  function () {
   console.log("Birinci fonksiyon");
  },

  function () {
    console.log("İkinci fonksiyon");
  },

  function () {
    console.log("Üçüncü fonksiyon");
  }

];

dizi[2]();


Yukarıda örnekte görüldüğü üzere dizi[2](); diziyi fonksiyon gibi çağırmalısınız.

Yukarıda ki örneği birde ES2015(ES6) arrow fonksiyonlarla yeniden düzenliyelim.


var dizi =[

  () => console.log("Birinci fonksiyon"),
   
  () => console.log("İkinci fonksiyon"),

  () => console.log("Üçüncü fonksiyon"),
  
  ];

dizi[2]();

Anonim fonksiyonu callback (geri çağırma olarak kullanma)


Anonim fonksiyonu yaygın bir kullanımı, basit bir satır içi callback fonksiyonu oluşturmaktır. callback (Geri çağırma) fonksiyonu, başka bir fonksiyona argüman olarak geçirebileceğiniz bir fonksiyondur. Geri çağırma fonksiyona eriştiğinizde, Çeşitli yapılacak işlemler gerektiğinde onu kullanabiliriz.

Birçok javaScript yerleşik fonksiyonu geri çağırmayı kabul eder veya geri çağırma fonksiyonu kabul eden kendi fonksiyonunuzu oluşturabilirsiniz.

Yerleşik fonksiyonlardan bazılarını görelim ve Anonim fonksiyonları anlayalım.

Fonksiyonun her elemanında callback fonksiyonunu çalıştırmak için array_map() fonksiyonunu kullanalım.

array_map() fonksiyonu bir callback fonksiyonu ve bir diziyi argüman olarak kabul eder. Dizinin her elemanı boyunca yinelenir ve callback fonksiyonu her bir öğeye uygular. callback, dizi değerini değiştirecek bir değer döndürmesi ve array_map'ın değiştirilen diziyi döndürmesi gerekir.

NOT: array_map(), kendisine ilettiğiniz dizinin bir kopyası üzerinde çalışır. Orijinal diziye dokunulmadan kalır.

Önce örneği Callback kullanmadan normal yoldan yapalım.


 // callback fonksiyonu olmadan

 var arr = [1,2,3,4,5];

 var x = [];
for (var i of arr){
  
  x.push(i*i);
 
} 
console.log(x);

ÇIKTI:

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)	

Aynı işlemi callback fonksiyonu ile array_map() fonksiyonu kullanarak yapalım.


// Anonim fonksiyonu callback kullanma

 let arr = [1,2,3,4,5];

var yeni_arr = arr.map(function(sayi){
    return sayi * sayi;
});

console.log(yeni_arr);

console.log(arr);


ÇIKTI:

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlanacaktır. Lütfen Yukarıda ki mesajları okuyun tekrar aynı soruları sormayın.

2376

KATEGORİ
  • HTML
  • CSS
  • PHP
  • JQUERY
  • PHOTOSHOP
  • JavaScript
  • Web Dünyası
  • Linux
  • MİTHRİL FRAMEWORK
  • Laravel
  • Git
  • React
POPÜLER MAKALE
  • HTML LİNK(Bağlantı)EKLEME - LİNK VERME
  • HTML YAZI VE RESİM ORTALAMA
  • HTML RESME LİNK VERME
  • HTML FORM OLUŞTURMA
  • CSS YATAY MENÜ YAPIMI
  • HTML RESİM EKLEME
  • CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
  • HTML DİV ve SPAN NEDİR?
  • HTML ARKAPLANA MÜZİK EKLEME
  • KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME
ETİKET
WEBCEBİR © 2013 Tüm hakları saklıdır.