Javascript:参数数组是否已弃用?
大多数网站都不推荐将“被调用方”作为Function.arguments的属性。但是有些网站更进一步,说整个函数。参数是不推荐的,例如,如果整个例程都死在水中,为什么只提到被调用方?我刚刚发现了“参数”,它似乎非常有用,例如:Javascript:参数数组是否已弃用?,javascript,arguments,optional,optional-arguments,Javascript,Arguments,Optional,Optional Arguments,大多数网站都不推荐将“被调用方”作为Function.arguments的属性。但是有些网站更进一步,说整个函数。参数是不推荐的,例如,如果整个例程都死在水中,为什么只提到被调用方?我刚刚发现了“参数”,它似乎非常有用,例如:函数。虽然不推荐使用参数,但它只支持函数中可用的普通参数对象。(例如,使用x=arguments[i];而不是x=func.arguments[i];) 现在,这是访问收到的序数参数的首选方法(正如您所说,非常有用)。被调用者已被弃用,但在许多应用程序中使用了这些参数。我不
函数。虽然不推荐使用参数
,但它只支持函数中可用的普通参数
对象。(例如,使用x=arguments[i];
而不是x=func.arguments[i];
)
现在,这是访问收到的序数参数的首选方法(正如您所说,非常有用)。被调用者已被弃用,但在许多应用程序中使用了这些参数。我不知道参数是否已被弃用。您可以使用它来获取函数的所有参数,即使函数中没有定义参数(params) 大部分时间我都是在开发jQuery插件时使用的。比如:
$.fn.tooltip = function( method ) {
if ( methods[method] ) {
return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof method === 'object' || ! method ) {
return methods.init.apply( this, arguments );
} else {
$.error( 'Method ' + method + ' does not exist on jQuery.tooltip' );
}
};
正如您所看到的,只有方法作为参数传递,但如果参数在第一个值之后拆分,则在第一个值内传递。通过这种方式,您可以传递函数名以及该函数使用的所有参数
完整示例:否,在规范的最新5.1版本中,参数数组未被弃用(请参见第60页)。然而,
调用者
对象仅在代码未处于严格模式时才可用。Afaik参数
不推荐作为函数属性使用。请参见,或这是有道理的。如果Javascript想要一些多线程支持,那么这样的全局有状态对象正在扼杀一切。为什么Function.arguments
不推荐使用呢?它允许您直接访问嵌套函数中父函数的参数,这是您不能使用参数
对象的。由于Node.js和browser上缺少功能,我发布了解决方法getArguments()
函数