判断传入函数的参数是否为空(转载)
判断传入函数的参数是否为空(函数参数是否传递)
1,判断参数是否传递
(1)如果我们定义了一个带参数的方法,调用的时候这些参数可以全部传递、部分传递、甚至不传递。
// 带两个参数的方法
function test(a, b) {}
// 方法调用
test();
test(0);
test(0, 1);
(2)如果在函数中想要知道这个参数是否传递,可以通过如下方式判断(注意是 3 个等号)

// 带两个参数的方法
function test(a, b) {
if(a === undefined){console.log("参数a没有传递!");}
if(b === undefined){console.log("参数b没有传递!");}}
// 方法调用
test(0);
2,参数默认值
(1)当函数的某个参数没有传递时,如果想要它有个默认值,可以这么写。
// 带两个参数的方法
function test(a, b) {
a = (a === undefined ? 1 : a); // a默认值为1
b = (b === undefined ? 2 : b); // b默认值为2}
注意:不建议使用下面这种方式,因为如果参数为 0 的话会出问题。
// 带两个参数的方法
function test(a, b) {
a = a | 1; // a默认值为1
b = b | 2; // b默认值为2
}
(2)如果用 ES6 我们可以直接这么写:
// 带两个参数的方法
function test(a = 1, b = 2) {}
十分感谢原博主,原博客地址如下:
https://www.hangge.com/blog/cache/detail_2284.html#

浙公网安备 33010602011771号