(function() { 'use strict'; var fn = function() { console.log(this); console.log(arguments); }, arr = [fn, 1, 2, 3, 4, 5]; Function.prototype.call.apply( function() { Function.prototype.call.apply(this, arguments); }, arr ); })();