判断传入函数的参数是否为空(转载)

判断传入函数的参数是否为空(函数参数是否传递)

1,判断参数是否传递

(1)如果我们定义了一个带参数的方法,调用的时候这些参数可以全部传递、部分传递、甚至不传递。

// 带两个参数的方法
function test(a, b) {}
// 方法调用
test();
test(0);
test(0, 1);

(2)如果在函数中想要知道这个参数是否传递,可以通过如下方式判断(注意是 3 个等号)

img

// 带两个参数的方法
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#

posted @ 2021-01-04 22:18  DAmarkday  阅读(1422)  评论(0)    收藏  举报