Martin Polák
Co bude v proměnné 'r' po vyhodnocení?
function fun(a) {
return function(b) {
return a + b;
}
}
var r = fun(1);
Správně, r = function(b) {...
Jaký je rozdíl mezi:
|
|
Správně, žádný.
Funkce jsou rovnocenným datovým typem. Můžeme je ukládat do proměnných, předávat jako parametr jiné funkci nebo vracet jako výsledek funkce.
function fun(a) {
return function(b) {
return a + b;
}
}
function fun(a) {
return function(b) {
return a + b;
}
}
Každá funkce s 1 a více parametry se dá přepsat jako složení funkcí s 1 parametrem.
|
|
function calcBuilder(fn) {
return function(a, b) {
return fn(a, b);
}
}
var add = calcBuilder(function(a, b) {
return a + b;
});
var mul = calcBuilder(function(a, b) {
return a * b;
});
function funkce() {
console.log("Logika funkce.");
}
function interc(fn) {
return function() {
console.log("Start");
fn();
console.log("Stop");
}
}
var intercepted = interc(funkce);
fetch("https://www.hella.com")
.then(function(re) {
return re.text();
})
.then(function(dt) {
console.log(dt.substring(0, 100));
});