高阶函数
2019-08-13 本文已影响0人
没了提心吊胆的稗子
高阶函数
函数可以作为另一个函数的返回值,也可以作为另一个函数的参数
function isType(type) {
return function (param) {
return Object.prototype.toString.call(param) === `[object ${type}]`;
}
}
let isString = isType('String');
console.log(isString('111'));
// 指定调用多少次才会真正执行函数
function eat() {
console.log('eat up');
}
function after(time, eat) {
return function () {
console.log(time);
if(! --time ){
eat();
}
}
}
let newEat = after(3, eat);
newEat();
newEat();
newEat();