JavaScript 丨 你不知道的arguments

 

arguments 是一个对应于传递给函数的参数的类数组对象

 

arguments对象不是一个 Array 。它类似于Array,但除了length属性和索引元素之外没有任何Array属性。例如,它没有 pop 方法。

但是它可以被转换为一个真正的Array:

var args = Array.prototype.slice.call(arguments);
var args = [].slice.call(arguments);

// ES2015
const args = Array.from(arguments);
const args = [...arguments];

 

 

示例:1、遍历参数求和

function add() {
    var sum =0,
        len = arguments.length;
    for(var i=0; i<len; i++){
        sum += arguments[i];
    }
    return sum;
}
add()                           // 0
add(1)                          // 1
add(1,2,3,4);                   // 10

 

 

 

 

更多参考:

https://github.com/wangjianuo/blog/issues/6

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/arguments

 

posted @ 2019-06-19 22:07  wangjianuo  阅读(117)  评论(0编辑  收藏  举报