补充: apply call bind区别1.call和apply的区别是,都会改变this指向并且立即执行。call和apply的第一个参数为this所指向的对象,call可以有第二个第三个第四个等等参数,apply第二个参数为一个数组。2.bind也是改变this指向,但是不立即执行,会返回一个闭包函数。apply底层模拟实现:Function.prototype.apply = function (context, arr) { var context = Object(context) || window; context.fn = this; var result; if (!arr) { result = context.fn(); } else { var args = []; for (var i = 0, len = arr.length; i < len; i++) { args.push('arr[' + i + ']'); } result = eval('context.fn(' + args + ')') } delete context.fn return result;}
点赞 1

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客网
牛客企业服务