1.函数传入的参数是不定的
function log(x,y) {
y = y || 'world';
console.log(x,y)
}
log('hello');
log('hello','');
log('hello', 'WORLD', 'hello')
PS E:\nodejs\nodetest> node .\promise.js
hello world
hello world
hello WORLD
从上面可以看出,函数传入的参数个数可以少于定义的参数个数,也可以比定义的参数个数多。
但匹配的时候,还是按照顺序匹配参数的,当传入的参数少于定义的参数时,缺省的参数当做传入空处理。
2.函数参数指定默认值
function log(x,y='world'){
console.log(x,y);
}
log('hello');
log('hello', 'WORLD');
log('hello', '');
PS E:\nodejs\nodetest> node .\promise.js
hello world
hello WORLD
hello
函数可以给入参指定默认值,当参入的参数缺省时,会使用默认值;让参入了参数时,会覆盖默认值;无论传入的参数是否是空值,只要传入了,都会覆盖默认值。