Function.prototype.call2 = function(context) { context.fn = this; var args = []; for(var i = 1, len = arguments.length; i < len; i++) { args.push('arguments[' + i + ']'); } eval('context.fn(' + args +')'); delete context.fn;}是為了模擬call的實現,請問為什么要push一個字符串,下面再用eval?直接傳入arguments[i],然后下面用context.fn(args)為什么不可以?
js中call方法的實現
LEATH
2018-11-20 17:15:52