手写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));
    }
}
全部评论
请问call(arguments, 2); 是什么意思呀
点赞 回复 分享
发布于 2021-03-23 19:01
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
既然都用了bind 直接返回 f.bind(oTarget) 不行么
点赞 回复 分享
发布于 2021-05-15 07:47
用Apply感觉就没有什么意义了
点赞 回复 分享
发布于 2021-06-02 22:20

相关推荐

10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
11-24 00:11
已编辑
广东工业大学 算法工程师
避雷深圳  yidao,试用期 6 个月。好嘛,试用期还没结束,就直接告诉你尽快找下一家吧,我谢谢您嘞
牛客75408465号:笑死,直属领导和 hr 口径都没统一,各自说了一些离谱的被裁理由,你们能不能认真一点呀,哈哈哈哈哈😅😅😅
点赞 评论 收藏
分享
51 收藏 评论
分享
牛客网
牛客企业服务