Function.arguments

已废弃
该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。

function.arguments 属性代表传入函数的实参,它是一个类数组对象。

描述

function.arguments 已经被废弃了, 现在推荐的做法是使用函数内部可用的 arguments 对象来访问函数的实参。

在函数递归调用的时候(在某一刻同一个函数运行了多次,也就是有多套实参),那么 arguments 属性的值是最近一次该函数调用时传入的实参,下面的示例有演示。

如果函数不在执行期间,那么该函数的 arguments 属性的值是 null

示例

function f(n) { g(n - 1); }

function g(n) {
  console.log('before: ' + g.arguments[0]);
  if (n > 0) { f(n); }
  console.log('after: ' + g.arguments[0]);
}

f(2);

console.log('函数退出后的 arguments 属性值:' + g.arguments);

// 输出:

// before: 1
// before: 0
// after: 0
// after: 1
// 函数退出后的 arguments 属性值:null

规范

规范名称 规范状态 备注
ECMAScript 1st Edition (ECMA-262) Standard arguments 属性首次实现于 JavaScript 1.0,首次添加进规范是在 ES1,在 ES3 中被删除。
ECMAScript 5.1 (ECMA-262)
arguments object
Standard arguments
ECMAScript 2015 (6th Edition, ECMA-262)
arguments object
Standard arguments

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

相关链接