partial 偏函数

共 1324字,需浏览 3分钟

 ·

2023-06-02 00:45

partial

说明: 偏函数

参数名 参数类型 参数说明
fn any 需要偏函数函数

使用

      
      // npm install billows
// import { partial } from 'billows';

function isType(typestring, val: any{
  return Object.prototype.toString.call(val) === `[object ${type}]`;
}
let isString = partial(isType, "String");
let isArray = partial(isType, "Array");
let isDate = partial(isType, "Date");

isString("chengbotao"); // true
isArray([]); // true
isDate(new Date()); // true

实现

      
      export function partial(fn: any{
  const args = Array.prototype.slice.call(arguments1);
  return function (thisany{
    const anonArgs = Array.prototype.slice.call(arguments);
    Array.prototype.push.apply(args, anonArgs);
    return fn.apply(this, args);
  };
}

解析

      
      // 获取除了 偏函数外的其他参数
const args = Array.prototype.slice.call(arguments1);
return function (thisany{
  // 使用匿名函数 来划分 arguments
  // 匿名函数的this,this对象绑定的是在运行时函数的执行环境
  const anonArgs = Array.prototype.slice.call(arguments);
  Array.prototype.push.apply(args, anonArgs);
  return fn.apply(this, args);
};
浏览 28
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报