理解 ECMAScript 隐式分号和空格解析
事实上,我经常看到这被引用为为什么在编写 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因为该语法不适用于行尾的隐式分号。
如果添加分号:
您将在下一行收到语法错误。
Because the syntax doesn't work with an implicit semicolon at the end of the line.
If you add the semicolon:
you would get a syntax error on the next line.