JS Polyfills — 调用、应用、绑定 |小鬼
作者:互联网
JS Polyfills — 调用、应用、绑定 |小鬼
称呼,
Function.prototype.myCall = 函数 **(currentContext = {}, ...arg)** {
if (typeof this !== 'function') {
throw new Error(this + "it's not callable");
} **currentContext.fn = 这个;
currentContext.fn(...arg);**
};
申请,
Function.prototype.myApply = 函数 **(currentContext = {}, arg = [])** {
if (typeof this !== 'function') {
throw new Error(this + "it's not callable");
} 如果(!Array.isArray(arg)){
throw new TypeError('在非对象上调用')
} **currentContext.fn = 这个;
currentContext.fn(...arg);**
};
绑定,
Function.prototype.myBind = 函数 **(currentContext = {}, ...arg)** {
if (typeof this !== 'function') {
throw new Error(this + "cannot be bound as it's not callable");
} **currentContext.fn = 这个;**
**返回** 功能 () {
返回 **currentContext.fn(...arg);**
};
};
我知道总会有一些需要改进的地方。请随时分享您的想法
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
本文链接:https://www.qanswer.top/29376/14211200
标签:...,currentContext,绑定,new,JS,arg,Polyfills,throw,fn 来源: https://www.cnblogs.com/amboke/p/16685222.html