arguments介绍(二)

1.1 将参数从一个函数传递到另外一个函数

下面是将参数从一个函数传递到另外一个函数的推荐作法。数组

function foo() {
    bar.apply(this, arguments);
}
function bar(a, b, c) {
    // logic
}

2. ES6 中的 arguments

2.1 扩展操做符

function func() {
    console.log(...arguments);
}

func(1, 2, 3);

执行结果是:app

1 2 3

2.2 Rest 参数

function func(firstArg, ...restArgs) {
    console.log(Array.isArray(restArgs));
    console.log(firstArg, restArgs);
}

func(1, 2, 3);
true
1 [2, 3]

2.3 默认参数

function func(firstArg = 0, secondArg = 1) {
    console.log(arguments[0], arguments[1]);
    console.log(firstArg, secondArg);
}

func(99);
99 undefined
99 1

可见,默认参数对 arguments 没有影响,arguments 仍是仅仅表示调用函数时所传入的全部参数。函数

2.4 arguments 转数组

Array.from() 是个很是推荐的方法,其能够将全部类数组对象转换成数组。this

相关文章
相关标签/搜索