手写bind

修改 this 指向

http://www.nowcoder.com/questionTerminal/a616b3de81b948fda9a92db7e86bd171

function bindThis(f, oTarget) {
    let args = Array.prototype.slice.call(arguments, 2);
    return function(){
        return f.apply(oTarget, Array.prototype.slice.call(arguments).concat(args));
    }
}
全部评论
用Apply感觉就没有什么意义了
点赞 回复 分享
发布于 2021-06-02 22:20
既然都用了bind 直接返回 f.bind(oTarget) 不行么
点赞 回复 分享
发布于 2021-05-15 07:47
return f.apply(oTarget, Array.prototype.slice.call(arguments).concat(args)); 这一句concat那里反了吧,应该是: return f.apply(oTarget, args.concat(Array.prototype.slice.call(arguments))); 您写的是手写bind,不是这个题目的要求吧。这题目描述的太简洁了,应该详细描述一下前提条件和要求的结果。三言两语的题目太容易引起误解了。
点赞 回复 分享
发布于 2021-03-31 18:32
请问call(arguments, 2); 是什么意思呀
点赞 回复 分享
发布于 2021-03-23 19:01

相关推荐

03-02 02:44
门头沟学院 Java
咩咩子_:92直接梭哈
点赞 评论 收藏
分享
你包有offer的:我面了10面才进去
点赞 评论 收藏
分享
评论
52
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务