JS - 判断传入函数的参数是否为空(函数参数是否传递)
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,参数默认值
// 带两个参数的方法 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) { }