函数的参数

课后整理 2020-12-10

函数的参数包括两种类型:

【示例1】定义JavaScript函数时,可以设置零个或多个参数。

function f(a,b){                                         //设置形参a和b
    return a+b;
}
var x=1,y=2;                                             //声明并初始化变量 
console.log(f(x,y));                                   //调用函数并传递实参 

在上面示例中,a、b就是形参,而在调用函数时向函数传递的变量x、y就是实参。

一般情况下,函数的形参和实参数量应该相同,但是JavaScript并没有要求形参和实参必须相同。在特殊情况下,函数的形参和实参数量可以不相同。

【示例2】如果函数实参数量少于形参数量,那么多出来的形参的值默认为undefined。

(function(a,b){                                          //定义函数,包含两个形参 
    console.log(typeof a);                         //返回number
    console.log(typeof b);                         //返回undefined
})(1);                                                       //调用函数,传递一个实参 

【示例3】如果函数实参数量多于形参数量,那么多出来的实参就不能够通过形参进行访问,函数会忽略掉多余的实参。在下面这个示例中,实参3和4就被忽略掉了。

(function(a,b){                                          //定义函数,包含两个形参 
    console.log(a);                                   //返回1
    console.log(b);                                   //返回2
})(1,2,3,4);                                               //调用函数,传入四个实参值 

【提示】

在实际应用中,经常存在实参数量少于形参数量,但是在函数内依然可以使用这些形参,这是因为在定义函数时,已经对它们进行了初始化,设置了默认值。在调用函数时,如果用户不传递或少传递参数,则函数会采用默认值。而形参数量少于实参的情况比较少见,这种情况一般发生在参数数量不确定的函数中。