function f(x) {
console.log(x)
}
function delay(f, ms) {
return function() {
setTimeout( () => {
f.apply(this, arguments)
}, ms )
};
}
let f1000 = delay(f, 1000);
f1000('asd')
function f(x) {
console.log(x)
}
function delay(f, ms) {
return function() {
setTimeout( function() {
f.apply(this, arguments)
}, ms )
};
}
let f1000 = delay(f, 1000);
f1000('asd')
Строчка
f.apply(this, arguments)
находится внутри функции, у которой нет параметров:
setTimeout( function() {
f.apply(this, arguments)
} )
Вызов
f.apply(this, arguments)
находится внутри стрелочной функции,
setTimeout(() => f.apply(this, arguments), ms);
у которой arguments указывает на контейнер параметров той функции, которая содержит стрелочную.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости