1.函数的默认参数值
即当函数调用时,函数在没有传值或者传的值是undefined的情况下,函数会使用默认参数值。代码如下:
function defaultParam(a = 1 ,b = 2){
console.log(a+','+b)
}
defaultParam(undefined,4)
代码说明:结果为1,4。其中1和2就是此函数的默认参数值。函数调用时,a获得的值是undefined,所有a就使用了默认参数值,a为1;b传了有效的值给函数,所有b就使用了函数调用传过去的值,b为4。
2.函数的剩余参数
即在函数声明中用‘…’+变量名表示的形参就是函数的剩余参数。函数调用后,函数从第一个参数到倒数第二个参数依次赋值,剩余的值可以用剩余参数来存储。注意:函数的剩余参数只能作为一个函数形参出现,否则会报错( Rest parameter must be last formal parameter)。代码如下:
案例1:
function array(arr1,...arr2){
for(let i = 0 ; i<arr2.length ; i++){
console.log(arr2[i]);
}
}
array([1,2,3,4],'嘻嘻','哈哈','嘿嘿');
说明:输出结果为‘嘻嘻 哈哈 嘿嘿’。其中arr1的值为[1,2,3,4];arr2是剩余参数,它的值为[‘嘻嘻’,‘哈哈’,‘嘿嘿’]
案例2
let personObj = {
name:'小明',
age:10,
sex:'男'
}
function testObj(obj,...key){
let NewPersonobj = {};
for(let i = 0 ; i < key.length ; i++){
NewPersonobj[key[i]] = obj[key[i]];
console.log(NewPersonobj[key[i]])
}
}
testObj(personObj,'name','age');
结果为:小明 10