JS - 判断传入函数的参数是否为空(函数参数是否传递)
作者:hangge | 2019-02-28 08:27
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) {
}
全部评论(0)