题解 | #_call函数#

_call函数

https://www.nowcoder.com/practice/22df1ed71b204a46b00587fdb780b3ab

      Function.prototype._call = function (context, ...args) {
        // 判断context,如果为null或者undefined,直接指向window
        let cxt = context || window;
        // 新建一个唯一的Symbol,避免重复
        let func = Symbol();
        cxt[func] = this;
        args = args ? args : [];
        // 以对象的方式调用func,此时的this为传入需要绑定的this指向
        const res = args.length > 0 ? cxt[func](args) : cxt[func]();
        // 删除方法,避免对全局造成污染
        delete cxt[func];
        return res;
      };

全部评论

相关推荐

能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务