Součet s uzávěry
důležitost: 4
Napište funkci sečti, která bude fungovat takto: sečti(a)(b) = a+b.
Ano, přesně takto, pomocí dvojích závorek (to není překlep).
Například:
sečti(1)(2) = 3
sečti(5)(-1) = 4
Aby druhé závorky fungovaly, ty první musejí vrátit funkci.
Například:
function sečti(a) {
return function(b) {
return a + b; // vezme "a" z vnějšího lexikálního prostředí
};
}
alert( sečti(1)(2) ); // 3
alert( sečti(5)(-1) ); // 4