如何在函数中处理可选参数

时间:2016-11-14 06:01:43

标签: javascript node.js

我有一个名为test的函数,它接受两个参数。如果有任何输入传递给该函数,它的工作完美。但我有一个场景,输入可能会或可能不会来。如何处理这种情况。是否可以在node.js中进行?我尝试使用typeof检查,但它没有按预期工作。

i

2 个答案:

答案 0 :(得分:0)

您可以将null作为参数传递,如下所示:

test(null, function (result) {
    console.log(result)
})

答案 1 :(得分:0)

您可以检查typeof输入是否为函数

function test(input, callback) {
    let input = input;
    let cb = callback;

    if (typeof input === 'function') {
        cb = input;
        input = 'some value';
    }

    cb(input);
}

test("message", function (result) {
    console.log(result)
})


test(function (result) { // This scenario fails
    console.log(result)
})