Derse geri dön

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