Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当不返回函数时,有没有办法不在输出中未定义_Javascript - Fatal编程技术网

Javascript 当不返回函数时,有没有办法不在输出中未定义

Javascript 当不返回函数时,有没有办法不在输出中未定义,javascript,Javascript,我正在解决hacker rank中的挑战,在处理该问题中的一个挑战时,我没有指定任何返回语句,因为我不想返回任何内容,只想返回在控制台上打印内容的函数。稍后执行时,输出显示未定义和一些控制台语句 function isPositive(a) { try { if (a > 0) console.log('YES'); else if (a === 0) throw "error1" el

我正在解决hacker rank中的挑战,在处理该问题中的一个挑战时,我没有指定任何返回语句,因为我不想返回任何内容,只想返回在控制台上打印内容的函数。稍后执行时,输出显示未定义和一些控制台语句

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');
    }
}
期望 对 对 对

实际产量 对 未定义 对 未定义 对
未定义

当我将console语句更改为return时,它正在工作

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';
    }
}

我认为您需要返回字符串,而不是将它们记录在控制台中。它们通常已经编写了代码来记录函数的返回值。这就是为什么日志记录未定义,因为您没有从函数返回任何内容,所以返回值未定义,并且您的console.log正在打印YES。将控制台日志替换为returnNo,没有办法,除非定义了返回值,否则函数总是隐式返回undefined。