5 回答
TA贡献1784条经验 获得超8个赞
不强行要求分号不代表不写分号是正确的。解释器会自动加分号,不保证完全能按你的意思加分号也许就加错分号了,结果就错了。变成了
var a = 'Aaa';
var b = 'Bbb'[a, b] = [b, a];
console.log(a);
console.log(b);
TA贡献1770条经验 获得超3个赞
其实代码和说话一样,加分号好比加上标点符号。你加了分号机器就按照你的意思来走,不加分号那机器就按照它的理解来走,
举个例子:
你说:下雨天留客天留我不留。
那别人理解为:
1、下雨天留客,天留我不留。
2、下雨天留客,天留,我不留。
3、下雨天留客,天留我?不留。
4、下雨天留客,天留我不?留。
5、下雨,天留客;天留我不留!
6、下雨天,留客天,留我?不留。
7、下雨天,留客天,留我不?留。
8、下雨天,留客天,留我不留?
代码也是一个意思,不同的结果只是因为有歧义,上面两个回答很好的说明了,我就不赘述了,?
TA贡献1842条经验 获得超22个赞
不强制要求,是在没有歧义的情况下。你的第二句和第三句有歧义,合并为一条语句也可以。
再举个例子
a = func
(...)
不加分号会合并成一行,变成了执行func函数,会导致运行时错误或逻辑错误。
TA贡献1830条经验 获得超9个赞
var aaa = 'Aaa'
var bbb = 'Bbb'
var [aaa, bbb] = [bbb, aaa]
console.log(aaa)
console.log(bbb)
不用分号也行
添加回答
举报
