Sammentæl med closures
vigtighed: 4
Skriv funktionen sum som virker sådan her: sum(a)(b) = a+b.
Ja, præcis på denne måde, ved brug af dobbelte parenteser (ikke en fejl).
For eksempel:
sum(1)(2) = 3
sum(5)(-1) = 4
For at den anden sætning med parenteser skal fungere, skal den første returnere en funktion.
Sådan her:
function sum(a) {
return function(b) {
return a + b; // tager "a" fra det ydre leksikale miljø
};
}
alert( sum(1)(2) ); // 3
alert( sum(5)(-1) ); // 4