理解 ECMAScript 隐式分号和空格解析

发布于 2024-11-10 11:06:41 字数 402 浏览 4 评论 0原文

事实上,我经常看到这被引用为为什么在编写 ECMAScript 时使用 K&R 风格。

function foo () {
  return
    {
      foo: 1
    }
  ;
}

这在 ECMAScript 或 Javascript 中不起作用:隐式分号加法会导致函数返回 undefined。然而我也一直看到这一点

function bar () {
  var a = "BAR";
  return a
    .toLowerCase()
  ;
}

而且,我想知道为什么隐式分号不会导致返回 "BAR",为什么 bar 会在那里返回?

I've seen, very often in fact, this cited as why to use K&R style when writing ECMAScript.

function foo () {
  return
    {
      foo: 1
    }
  ;
}

That doesn't work in ECMAScript or Javascript: implicit-semicolon addition results in the function returning undefined. However I see this all the time too

function bar () {
  var a = "BAR";
  return a
    .toLowerCase()
  ;
}

And, I'm wondering why implicit semicolons doesn't result in that returning "BAR", why does bar get returned there?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

耀眼的星火 2024-11-17 11:06:41

因为该语法不适用于行尾的隐式分号。

如果添加分号:

function bar () {
  var a = "BAR";
  return a;
    .toLowerCase()
  ;
}

您将在下一行收到语法错误。

Because the syntax doesn't work with an implicit semicolon at the end of the line.

If you add the semicolon:

function bar () {
  var a = "BAR";
  return a;
    .toLowerCase()
  ;
}

you would get a syntax error on the next line.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文