javascript - Warum wird in Bezug auf das Semikolon-Problem ein Fehler ohne Semikolon gemeldet?
高洛峰
高洛峰 2017-05-16 13:42:00
0
3
589

Ausgabe 2

Entfernen Sie das Semikolon und es wird ein Fehler gemeldet

Welche Funktion hat dieses Semikolon? Warum führt das Entfernen zu einem Fehler?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

Antworte allen(3)
我想大声告诉你

不是分号的问题,
而是如果没有;号的阻断, 解释器直接把两条语句合并成:

var xx = function(){}[1,2,3].aa(22);

在使用已()和[]为开头的语句时, 要尤其注意, 因为这两个操作符会优先和前面的表达式进行组合, ;号不能省

在某些的;号则不是必须的, 比如;

var a = 1, b=2
a++
b++

这并不会报错

由于 js 并没有明确的对这样的行为做出解释, 而且页容易混乱, 所以推荐的做法一般都是:
不管需不需要;号隔断, 你最好在后尾都加上一句, 除非你明确知道(想要)导致的结果.
这种做法称作最佳实践

洪涛

function(){}[1,2,3] 返回undefined

刘奇

这里的分号应该表示的是这一条语句结束吧?

Array.prototype.aa = function(){console.log(2);};

我觉得你写成这样就看得出了。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage