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