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