为了账号安全,请及时绑定邮箱和手机立即绑定

兼容低版本浏览器的bind方法的代码疑问

兼容低版本浏览器的bind方法的代码疑问

慕哥9229398 2018-09-13 09:09:24
为什么加下面这段代码?能不能用代码举例下,谢谢Array.prototype.push.apply(argc,arguments);//将调用时的参数放到最后bind兼容代码如下if (!Function.prototype.bind) {//如果原型上没有bind方法   Function.prototype.bind = function (context) {      var args = arguments,//获取要传入的所有参数         obj = arguments[0],//获取要绑定的上下文         func = this;//获取要调用的函数     return function(){//返回一个新的函数         var argc = Array.prototype.slice.call(args,1);//获取bind的剩余传入参数         Array.prototype.push.apply(argc,arguments);//将调用时的参数放到最后         return func.apply(obj||null,argc);//使用新的this执行func函数     }      } }
查看完整描述

1 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

var bFn = fn.bind(obj, 5, 'hello');bFn(args);

你说的那句就是为了合并新传入的参数


查看完整回答
反对 回复 2018-09-29
  • 1 回答
  • 0 关注
  • 601 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信