不返回函数时,有什么方法不会在输出中变得不确定

时间:2019-03-29 06:23:09

标签: javascript

我正在解决黑客级别的挑战,并且在解决该问题中的一个挑战时,我没有指定任何return语句,因为我不想返回任何东西,而只返回在控制台上打印内容的函数。稍后在执行时,输出显示未定义和一些控制台语句。

function isPositive(a) {
    try {
        if (a > 0)
            console.log('YES');
        else if (a === 0)
            throw "error1"
        else if (a < 0)
            throw "error2"
    }
    catch (err)
    {
        if(err == "error1")
            console.log('Zero Error');
        else if (err == "error2")
            console.log('Negative Error');
    }
}

预期 是 是 是的

实际输出 是 未定义 是 未定义 是 未定义

1 个答案:

答案 0 :(得分:1)

当我将控制台语句更改为返回时,它正在工作。

function isPositive(a) {
    try {
        if (a > 0)
             return 'YES';
        else if (a === 0)
            throw "error1"
        else if (a < 0)
            throw "error2"
    }
    catch (err)
    {
        if(err === "error1")
           return 'Zero Error';
        else if (err === "error2")
            return 'Negative Error';
    }
}