01 arguments
arguments:接受实参
该参数是一个类似于数组的结构,但是并不是数组。
注:(可以像数组一样遍历 + 还可以使用下标来访问数据)
注意点:
01 函数调用的时候,会把实参的值赋值给形参,而且会使用arguments来接收实参
02 如果实参的个数超过形参的个数,那么可以通过arguments来获取超出的数据
03 如果实参的格式小于形参的个数,那么不足的全部设置为undefined
<script>
function sum(){
var result = 0;
for (var i = 0; i < arguments.length; i++) {
result += arguments[i];
}
console.log(result);
// 判断arguments 的类型,不是数组,类似数组
console.log(Array.isArray(arguments)); //false
console.log(Object.prototype.toString.call(arguments)); //[object Arguments]
}
sum(1, 2, 3, 4, 5);
</script>
02 length
length属性
01 arguments.length 实参长度(个数)
02 函数名.length 形参的长度(个数)
01 函数调用的时候,会把实参的值赋值给形参,而且会使用arguments来接收实参
02 如果实参的个数超过形参的个数,那么可以通过arguments来获取超出的数据
<script>
function demo(a, b, c){
// 获得实参的个数
console.log(arguments.length);
//通过arguments来获取超出的数据
console.log(arguments[demo.length]);
}
demo(1, 2, 3, 4, 5);
console.log(demo.length);
</script>
03 如果实参的格式小于形参的个数,那么不足的全部设置为undefined
<script>
function demo(a, b, c){
console.log(arguments.length);
console.log(a, b, c); //1 2 undefined
}
demo(1, 2);
</script>