JavaScript return语句意外

时间:2018-07-05 05:49:10

标签: javascript v8

function returnSomething(){
    return 
    5;
}

此返回未定义。

function returnSomething(){
    return 5;
}

这将返回5。

当我在返回后添加新行时,返回undefined。我正在使用Chrome。 V8是这样工作的吗?

2 个答案:

答案 0 :(得分:4)

这是JS的工作方式。返回值必须在同一行中开始返回块:

return {};

将返回未定义,您应该返回: return {};

return { };

const isValid = false;
return isValid
    ? 5
    : 3;

通过这种方式而不是v8,这就是JS一直以来的工作方式

答案 1 :(得分:0)

数字5换行。即使您不使用分号,return语句也以单行结尾。
因此您的代码类似于:

function returnSomething(){
    return; // returns undefined.
    5;
}