Skip to content

函数相关

约 327 字大约 1 分钟

手撕前端

2025-08-21

Function.prototype.myCall = function (context, ...args) {
  const fn = Symbol("fn");
  context[fn] = this;
  const res = context[fn](...args);
  delete context[fn];
  return res;
};

apply

Function.prototype.myApply = function (context, args) {
  const fn = Symbol("fn");
  context[fn] = this;
  const res = context[fn](...args);
  delete context[fn];
  return res;
};

bind

Function.prototype.myBind = function (context, ...args) {
  return (...reArgs) => {
    return this.myCall(context, ...args, ...reArgs);
  };
};

函数柯里化

实现一个能将一个函数柯里化的函数

实现一个可以传递任意长度参数以及任意调用次数的柯里化求和函数

贡献者

PinkDopeyBug

公告

本博客内容原本使用obsidian编写,由于没有仔细配置,以至图片引用使用obsidian风格。

且图片存储路径频繁变更导致部分文章图片无法正常显示。

为您带来不便请谅解。

ps:贡献者一直都只有wynnsimon一人,显示Pink的贡献者是因为我没好好配置git。后面因为懒就没一个个修改。如果被提及的人不希望被显示可以联系我我会立即删除。