gpt4 book ai didi

javascript - 为什么 angular.bind() 存在而核心 javascript 具有相同的功能?

转载 作者:行者123 更新时间:2023-11-30 15:36:15 25 4
gpt4 key购买 nike

在 Angular documentation它说你可以获取一个对象并将它绑定(bind)到一个带有可选参数的函数,如下所示:

angular.bind(self, fn, args);

如果我理解正确的话,对于返回的(和修改的)fn,“self”变成“this”。

这也可以通过核心 javascript 轻松完成:

fn.apply(obj, args);

我是不是漏掉了什么?

最佳答案

angular.bind 创建一个具有指定上下文的包装函数。它是 Function.prototype.bind 的对应物,而不是 Function.prototype.apply

angular.bind 从过去开始就存在,当时 JS 库自给自足而不依赖标准和 polyfills(对 jQuery 和 jQuery.proxy 的敬意) )。这通常会导致占用空间更小。

angular.bindfn.apply 不适用于 newed ES6 类,最好坚持使用 fn.bind 如果适合的话。

关于javascript - 为什么 angular.bind() 存在而核心 javascript 具有相同的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41506754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com