函数: 函数名+形参+函数体+执行+实参...
+ 创建函数:形参
+ 函数执行:实参 / arguments / 返回值
存储了所有的实参
需求:对求和函数的升级(不确定传递几个数,我们把传递进来的值最后都能求和【过滤非有效数字】)
1.不确定用户到底传递多少个实参(首先不能设置形参变量了,因为我们无法确定设置多少个形参变量),我们可以基于“函数内置的实参集合 arguments”来获取传递的实参信息
+ 不论是否传递实参,也不论是否设定形参,arguments都会存在,不传递实参,arguments是一个空集合,如果传递了实参,所有实参的信息都在arguments集合中存储着
+ arguments集合是一个类数组集合
function sum() { var total = 0; for (var i = 0; i < arguments.length; i++) { // item:每一轮循环获取的集合中的指定项内容 var item = Number(arguments[i]); if (isNaN(item)) continue; total += item; } return total; |
var result = sum(10, 20, 30); console.log(result); result =sum(10, 20, 30,'40'); console.log(result); result = sum('AA', 20, 30); console.log(result); result = sum(); console.log(result);
|