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教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
不是分号的问题,而是如果没有;号的阻断, 解释器直接把两条语句合并成:
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);};
我觉得你写成这样就看得出了。
不是分号的问题,
而是如果没有;号的阻断, 解释器直接把两条语句合并成:
在使用已()和[]为开头的语句时, 要尤其注意, 因为这两个操作符会优先和前面的表达式进行组合, ;号不能省
在某些的;号则不是必须的, 比如;
这并不会报错
由于 js 并没有明确的对这样的行为做出解释, 而且页容易混乱, 所以推荐的做法一般都是:
不管需不需要;号隔断, 你最好在后尾都加上一句, 除非你明确知道(想要)导致的结果.
这种做法称作最佳实践
function(){}[1,2,3] 返回undefined
这里的分号应该表示的是这一条语句结束吧?
我觉得你写成这样就看得出了。