(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 ); })();
(function() { 'use strict'; var fn = function() { console.log(this); console.log(arguments); }, arr = [fn, 1, 2, 3, 4, 5]; Date.call.apply(Date.call, arr); })();
Function.call.apply(Function.call, arr);