Closure ile toplam
önem: 4
topla
adında bir fonksiyon yaz ve şu şekilde çalışsın topla(a)(b) = a+b
Evet aynen bu şekilde, iki tane parantez ile ( yanlış yazım değil)
Örneğin:
sum(1)(2) = 3
sum(5)(-1) = 4
İkincisinin çalışabilmesi için ilkinin fonksiyon döndürmesi gerekmektedir.
Şunun gibi:
function topla(a) {
return function(b) {
return a + b; // dıştaki Sözcüksel Ortamdan "a" değişkenini almakta.
};
}
alert( topla(1)(2) ); // 3
alert( topla(5)(-1) ); // 4