首页 > 其他 > 详细

高阶函数

时间:2019-08-07 22:08:17      阅读:101      评论:0      收藏:0      [点我收藏+]
高阶函数 指代 参数可以是一个函数,函数中返回函数
getcallBack(back) {
return Back();
}
 
demo
// 判断类型 Object.prototype.toString.call();
function isType(type){ // type == ‘boolean‘
return function (obj){
return Object.prototype.toString.call(obj).includes(type);
}
}
// 包装成一个高阶函数 批量生成函数
let types = [‘String‘,‘Object‘,‘Array‘,‘Null‘,‘Undefined‘,‘Boolean‘];
let fns = {};
types.forEach(type=>{ // 批量生成方法
fns[‘is‘+type] = isType(type)
})
let a = ‘123‘;
console.log(fns.isString(a)); // 函数柯里化
 
我们先声明一个带有 类型的数组 ,遍历数组 ,声明一个对象 ,对象的key  是 数组中 的每一项   fns[‘is‘+type]   数组的value 是函数的返回值  
sType(type) 会返回一个值 
Object.prototype.toString.call(obj)  判断函数的类型 
includes 返回布尔值 

高阶函数

原文:https://www.cnblogs.com/guangzhou11/p/11317707.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!