题解 | #_call函数#

_call函数

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

11_Function.call

本题考点:this

根据题目要求,实现一个仿Function.call功能的"Function._call"函数,该函数会临时修改内部this的指向并返回结果,核心步骤有:

  1. 参数默认为window
  2. 获取调用该方法的对象,将this赋给对象参数,可以任意命名
  3. 通过该对象参数临时调用函数并返回结果
  4. 最后删除对象参数的临时函数属性

参考答案

Function.prototype._call = function(target = window) {
    target['fn'] = this
    const result = target['fn']([...arguments].shift())
    delete target['fn']
    return result
}

全部评论
你就不怕target上面有fn这个key 被你覆盖了
点赞 回复 分享
发布于 2024-06-16 12:23 四川

相关推荐

评论
7
收藏
分享

创作者周榜

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