首页 >web前端 >js教程 >为什么 JavaScript 的'return”语句失败并在新行上返回值?

为什么 JavaScript 的'return”语句失败并在新行上返回值?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-08 04:20:02527浏览

Why Does JavaScript's `return` Statement Fail with a Return Value on a New Line?

为什么 Javascript 的 Return 语句失败并在新行上返回值

考虑下面的 JavaScript 代码:

<code class="javascript">function correct() {
    return 15;
}

function wrong() {
    return
          15;
}

console.log("correct() called : "+correct());
console.log("wrong() called : "+wrong());</code>

在此示例中,正确() 正确返回 15,而错误 () 莫名其妙地返回 undefined。这种行为与其他编程语言不同。下面的 bad() 替代实现纠正了这个问题:

<code class="javascript">function wrong() {
    return(
          15);
}</code>

为什么会发生这种情况?

JS 解释器可以在认为有必要时在某些换行符处插入分号。但是,他们的判断可能与预期有所不同。

当 return 语句后跟换行符时,JS 解释器会在 return 语句后面插入分号。这会导致错误()函数的代码被修改为:

<code class="javascript">function wrong() {
    return;
          15;
}</code>

现在这是不正确的。

相反,带有添加括号的错误()的修改版本开始一个表达式带左括号。 JS 解释器会识别这一点并避免插入分号,从而保留预期的行为。

以上是为什么 JavaScript 的'return”语句失败并在新行上返回值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn