注释:与其他程序设计语言不同,ECMAScript 不会验证传递给函数的参数个数是否等于函数定义的参数个数。开发者定义的函数都可以接受任意个数的参数(根据 Netscape 的文档,最多可接受 25 个),而不会引发任何错误。任何遗漏的参数都会以 undefined 传递给函数,多余的函数将忽略。
var goOnDo= function(object,fun)
{
var args = Array.prototype.slice.call(arguments).slice(2); //保存额外的参数。
return function() {
return fun.apply(object, args.concat(Array.prototype.slice.call(arguments)));//传递参数。
}
}