使用bind进行部分应用而不影响接收者

2023-12-05

如果我想部分应用一个函数,我可以使用bind,但似乎我必须影响函数的接收者(第一个参数bind)。它是否正确?

我想使用执行部分应用程序bind而不影响接收器。

myFunction.bind(iDontWantThis, arg1); // I dont want to affect the receiver

部分应用使用bind不影响接收器

那是不可能的。bind被明确设计为部分应用“第零参数” -this值,以及可选的更多参数。如果您只想修复函数的第一个(以及可能更多)参数,但保留this未绑定,您需要使用不同的函数:

Function.prototype.partial = function() {
    if (arguments.length == 0)
        return this;
    var fn = this,
        args = Array.prototype.slice.call(arguments);
    return function() {
        return fn.apply(this, args.concat(Array.prototype.slice.call(arguments)));
    };
};

当然,很多库也提供这样的功能,例如下划线, Lodash, Ramda等等。但是没有本地等效项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用bind进行部分应用而不影响接收者 的相关文章

  • 错误:#0 轴的数据列不能是字符串类型

    我正在尝试使用谷歌图表和 React JS 创建散点图 我制作了一个测试数组来检查这是否是将数据发送到图表的正确方法并且它有效 但是当我处理真实数据并创建一个类似的数组时 它给我带来错误 轴 0 的数据列不能是字符串类型 这是运行良好的测试
  • Promise.all 返回一个未定义的数组并在完成之前解析

    我在返回数组的函数时遇到问题undefined 这是代码 classMethods getQueries function models dbId dateStart dateEnd return new Promise function
  • 禁用 Ctrl + 滚动以缩放谷歌地图

    Does anybody know how to disable the CTRL Scroll First when the mouse wheel was moved the Map would Zoom in out But now
  • 如何获取数组中对象的属性名称?

    这是我的数组 var testeArray name Jovem1 esteira Macaco name Jovem esteira Doido horse Chimbinha 从上面 我想得到一个像这样的数组 var propertyN
  • 使用 Jasmine 监视 Backbone.js 路由调用

    在主干路由器上监视方法调用时遇到问题 以确保它在给定路由上调用正确的方法 测试摘录 describe Router gt beforeEach gt router new App Router Backbone history start
  • javascript 中的类型安全或如何避免很难检测到类型相关的错误

    我来自 Java 世界 即类型安全的世界 现在正在做一些需要使用 JavaScript 进行客户端执行的事情 由于 JS 的非典型化 我有时会遇到很难检测到错误的情况 我想知道是否有任何方法可以提前阻止它 例如 设置诸如 使用典型化 之类的
  • 使用 JS 和 HTML 将当前 URL 插入链接

    所以 我已经阅读了类似的内容 但我仍然找不到更适合我正在做的事情的答案 我正在尝试使用 JS 获取当前页面 URL 并将其附加到社交媒体共享链接 如下所示 a href target blank 使用 Javascript 我成功地将当前
  • 当列表包含图像时,React Native FlatList 感觉很慢

    我为 avater 使用 64x64 图像 它的尺寸非常小 通过我的应用程序 滚动时帧率下降至 25 35 fps 如何优化 flatList 图像
  • 找不到 firebase-messaging.js laravel

    大家好 我正在使用 firebase 制作一个用于推送通知的应用程序 这是我在 firebase 中的第一个项目 我遇到的问题是当我运行项目并单击它给我的登录按钮时的连接 已授予通知权限 但在此之后它返回一个错误 如下所示 获取脚本时收到错
  • 无法使用 Node.JS 将 null 值发送到 MySQL 数据库

    我正在尝试发送null使用 Node JS 到我的 MySQL 数据库 con query INSERT INTO Routes routeTrigger VALUES null title test function err result
  • 使用西里尔字母的正则表达式

    我有一个用于文本区域字段中字数统计的 jQuery 函数 此外 它排除所有用 三重括号 封闭的单词 它对于拉丁字符效果很好 但对于西里尔字母句子有问题 我认为错误部分与正则表达式有关 field val replace g match b
  • 当容器有选择框时 jQuery mouseleave 触发问题

    我有两个容器 一个嵌套在另一个容器内 当我将鼠标悬停在父容器上时 我希望显示子容器 当我鼠标移出时 我希望子容器淡出 我遇到的问题是子容器有一个包含 选择框 的表单 当用户选择选择框时 会意外触发 mouseleave 事件 如何阻止选择框
  • Imperavi Redactor 内容未复制到隐藏文本区域

    我正在尝试使用因佩拉维编辑器 http imperavi com redactor 在这里控制我的富文本编辑 div class control group div class controls div div document ready
  • 如果只有一个元素发生变化,为什么 AngularJs 会更新数组/哈希映射的所有元素?

    我有一个简单的哈希图和一个以文本形式显示状态的简单方法 但是当我仅更新 1 个用户状态时 所有这些状态都会更新 为所有用户调用函数 有没有一种方法可以只更新一个元素而不是全部 示例代码在这里 只需看看当您单击 更改状态 按钮时控制台中会发生
  • 解密Javascript源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我已经编写了一段 JavaScrip
  • 如何使 Loopback 模型事件起作用?

    我尝试过一个例子http apidocs strongloop com loopback model http apidocs strongloop com loopback model MyModel on changed functio
  • 按位非运算符

    为什么要按位运算 0 打印 1 在二进制中 不是0应该是1 为什么 你实际上很接近 在二进制中 不是0应该是1 是的 当我们谈论一位时 这是绝对正确的 然而 一个int其值为0的实际上是32位全零 将所有 32 个 0 反转为 32 个 1
  • 为什么 `BehaviorSubject` 不发出最后一个值

    The 关于BehaviorSubject的文档 http reactivex io documentation subject html声明它应该返回最后发出的值 无论我何时订阅 但它不会为我返回它 const ofObservable
  • 内联 YouTube 视频在 iOS 上的 cordova 应用程序中不起作用

    我用 cordova 开发了一个移动应用程序 我确实需要能够播放内联 YouTube 视频 我尝试了一段时间来解决它 我设置了属性playsinline to 1在 YouTube iframe API 中 I put
  • 如何通过 jQuery onblur 提交表单

    所以我尝试通过 jQuery onblur 提交表单 即一旦焦点离开密码字段 表单就会通过 jQuery 提交 有类似的问题 但这不是我要找的 我尝试使用 document getElementById 但它不起作用 任何帮助表示赞赏 提前

随机推荐

  • 将对象数组中的所有 null 更改为 '' (javascript)

    我有如下所示的对象数组 Object Results Array 3 Results Array 3 0 2 0 Object id null name Rick Value 34343 1 Object id 2 name null Va
  • 在 x 个字符后更改 CSS

    我里面有一个文本字符串td 如下 td This is a long line td 我想要做的是更改前七个字符之后所有字符的字体大小 现在我知道我可以执行以下操作 td This is span class different a lon
  • 在 DataGridView 中显示 SQL 结果的问题

    我试图在我的应用程序的数据网格视图中显示 SQL 查询的结果 下面的代码是我写的 但它似乎与我做什么无关 我无法在表单的 datagridview 中得到任何显示 有人能指出我正确的方向吗 code Sql SELECT FROM jobL
  • awk 中的矩阵加法

    我有一堆变量 如下所示 DURATION 1 57 DURATION 2 07 T0 10 T1 0 TX 0 T0 12 T1 0 TX 1 TC 1 IG 0 TC 2 IG 3 是否可以让 awk 处理这个结果 结果是 DURATIO
  • .NET 对象大小

    net 中堆分配对象的大小是多少 包括管理开销 我假设对象是沿着 4 字节边界分配的 还是使用了不同的方法 x86 上的 4 字节边界 x64 上可能有 8 字节边界 x86 上有 8 个字节的开销 用于类型引用和同步块 如果发现 x64
  • 关于 Express Request,Typescript 声明合并失败

    当我提出明确请求时 我收到此错误 error TS2339 Property test does not exist on type Request
  • Rails 3. 嵌套事务。子块中的异常

    为什么在子块中出现异常后 ActiveRecord 不回滚嵌套事务中的更改 以下是示例 1 gt gt Client transaction do gt Client create name gt Pavel gt gt Client tr
  • Dot net core 1 Tooling Preview 离线安装程序

    是否可以提供离线安装程序DotNetCore 1 0 1 VS2015Tools Preview2 谢谢 Lex Li答案 从以下位置下载在线安装程序here then 在同一文件夹中创建快捷方式 Add the layout开关 带空格
  • 过滤嵌套 JSON javascript

    我正在创建一个采用如下 JSON 的 API hightlights title Fun url fun index html queries music artists events internet title Internet url
  • 自定义元素的名称中是否需要破折号?

    是否可以命名您自己的自定义元素
  • 通过属性使用具有依赖属性的数据类

    例如 我有一堂课Circle 具有依赖属性 radius and circumference 使用a是有意义的dataclass这里是因为样板 init eq repr 和订购方法 lt 我选择一个属性依赖于另一个属性 例如周长是根据半径计
  • REDHAWK UHD 设备使用情况

    我已经成功安装了 UHD 设备以及 REDHAWK 版本 1 8 3 对我来说 如何将波形中的组件连接到设备管理器管理的设备并不明显 我也不清楚 IDL 接口和 USRP 设备上的数据端口之间的相互作用 我无法找到一个使用 USRP 设备发
  • 对 WPF 绑定中的值进行舍入

    我正在尝试实现一个进度条 顶部有一个文本框 也显示进度 然而 该百分比是小数 是否可以通过绑定对数据集中返回的值进行舍入 还是必须通过后面的代码来完成
  • EditText 没有捕获 ViewFlipper 的滑动?

    这太令人抓狂了 我有以下 XML 布局
  • Jaxen 是否仍得到积极支持/开发?

    Jaxen看起来像是一个不错的 可扩展的 XPath 项目 但它似乎没有被积极开发 也没有发布日期 即便是邮件列表网址已死 有人有这方面的信息吗 Jaxen仍在 Github 上积极开发
  • postgresql提取函数源码

    需要使用 SQL 提取 PostgreSQL 函数的源代码 我看到其中一个函数有这种奇怪的行为 所有其他函数 大约 200 都工作得很好 当我运行以下语句时 它有效 select prosrc from pg proc where pron
  • OSX 10.10 为什么 CUDA 7.5 认为我的驱动程序不足?

    我正在尝试在我的 Mac Pro 15 英寸 2009 年中 配备 GPU GeForce 9400M 上安装 CUDA 我已经安装了https developer nvidia com cuda downloads工具包 nvcc ver
  • 如何使用 MATLAB 找到距给定坐标最近的点?

    我需要用 Matlab 解决一个最小化问题 我想知道哪个是最简单的解决方案 我一直在考虑的所有潜在解决方案都需要大量的编程工作 假设我有一个纬度 经度坐标点 A B 我需要的是在纬度 经度坐标地图中搜索距离该点最近的点 特别是 纬度和经度数
  • GPU拾取-精灵周围的不可见像素

    我正在渲染一个包含精灵的拾取场景 当我的光标靠近精灵时 它会注册为一种颜色并被 拾取 当你放大精灵时 这个不可见的边框会变得更大 打开控制台即可查看实时打印的 ID 将光标移近或远离大精灵和小精灵 您将看到精灵在不可见的边框上被选中 这种行
  • 使用bind进行部分应用而不影响接收者

    如果我想部分应用一个函数 我可以使用bind 但似乎我必须影响函数的接收者 第一个参数bind 它是否正确 我想使用执行部分应用程序bind而不影响接收器 myFunction bind iDontWantThis arg1 I dont