参考文章:
https://blog.csdn.net/zjy_android_blog/article/details/80934042
https://www.jianshu.com/p/d7ed5ade67a3
什么是arguments?
在函数调用的时候,浏览器每次都会传递进两个隐式参数:
1. 函数的上下文对象this
2. 封装实参的对象arguments
function test(){
console.log(arguments)
}
test("a",1)
从以上案例可以看出打印出来的arguments是函数test的实参,arguments是一个object对象
arguments特点
1.arguments对象和Function是分不开的。
2.因为arguments这个对象不能显式创建。
3.arguments对象只有函数开始时才可用。
arguments实际运用案例
当一个函数不确定参数的个数时:
写一个函数,返回参数的平方和:
function sum (){
let result =0;
for(let val of arguments){
console.log(val)
result += val*val
}
return result
}
let a = sum(2,2)
console.log(a)//8
let b = sum(1,2,3)
console.log(b)//14