WIKI:
在计算机编程中,语句是最小的独立语句 表达一些命令式编程语言的元素 要采取的行动。这是一个高级写的指令 命令计算机执行指定操作的语言。
W3C
分号分隔JavaScript语句。最后添加一个分号 每个可执行语句
几乎恢复了我的想法,但我很想在这些情况下与你们分享一些想法。
案例1:
var MyPromise = GetPromise(); //first statement
MyPromise.then(function(){
}); //second statement
案例2:
GetPromise()
.then(function(){
}); //first statement
维基源声称在讨论陈述时会考虑高级语言(如报道)
这是用高级语言编写的指令..
实际上我不知道源是多么可信,但如果我考虑高级javascript代码(不是解释器生成的机器代码),这两种情况产生相同的行为,这里显然我们有两个不同的语句第一个块,第二个块。
2个代码块之间是否有任何差异?是否有任何理由选择一个代替另一个(而不是可读性)?
答案 0 :(得分:1)
分号分隔JavaScript语句
不,多亏了ASI,我们不需要分号(在大多数情况下,使用分号更好):
alert("two")
alert("statements")
所以分号不是要走的路。让我们来看看这个案例
alert(test)
有多少陈述?一个或两个?这是因为:
test
也是一个陈述。准确地说是表达式语句。但它的共同语言只是称它们为表达式。[1]语句的数量(不是表达式语句)可以自由变化,例如:
a();
b();
"vs."
a(),b();
我假设语句流程可以由程序员以某种方式控制。
是的。叫做编程。
是否有任何理由选择一个代替另一个(而不是可读性)?
可读性! 两个语句或一个包含两个表达式的语句之间没有区别。
但是在你的情况下:
var MyPromise = GetPromise();
MyPromise.then(function(){
});
MyPromise存储在窗口对象中,因此在某些时候它不会被回收。所以你告诉解析器你可能想在其他地方使用它。如果你不这样做,将它存储在窗口中是没有意义的。
1:What is the difference between an expression and a statement?