Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:参数数组是否已弃用?_Javascript_Arguments_Optional_Optional Arguments - Fatal编程技术网

Javascript:参数数组是否已弃用?

Javascript:参数数组是否已弃用?,javascript,arguments,optional,optional-arguments,Javascript,Arguments,Optional,Optional Arguments,大多数网站都不推荐将“被调用方”作为Function.arguments的属性。但是有些网站更进一步,说整个函数。参数是不推荐的,例如,如果整个例程都死在水中,为什么只提到被调用方?我刚刚发现了“参数”,它似乎非常有用,例如:函数。虽然不推荐使用参数,但它只支持函数中可用的普通参数对象。(例如,使用x=arguments[i];而不是x=func.arguments[i];) 现在,这是访问收到的序数参数的首选方法(正如您所说,非常有用)。被调用者已被弃用,但在许多应用程序中使用了这些参数。我不

大多数网站都不推荐将“被调用方”作为Function.arguments的属性。但是有些网站更进一步,说整个函数。参数是不推荐的,例如,如果整个例程都死在水中,为什么只提到被调用方?我刚刚发现了“参数”,它似乎非常有用,例如:

函数。虽然不推荐使用参数
,但它只支持函数中可用的普通
参数
对象。(例如,使用
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()
函数