javascript - 关于一个分号的问题,为什么没有分号就报错了呢?
本文介绍了javascript - 关于一个分号的问题,为什么没有分号就报错了呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
输出2
当把那个分号去掉,报错
求问那个分号是起了什么作用?为什么去掉会报错呢?
解决方案
不是分号的问题,
而是如果没有;号的阻断, 解释器直接把两条语句合并成:
var xx = function(){}[1,2,3].aa(22);
在使用已()和[]为开头的语句时, 要尤其注意, 因为这两个操作符会优先和前面的表达式进行组合, ;号不能省
在某些的;号则不是必须的, 比如;
var a = 1, b=2
a++
b++
这并不会报错
由于 js 并没有明确的对这样的行为做出解释, 而且页容易混乱, 所以推荐的做法一般都是:
不管需不需要;号隔断, 你最好在后尾都加上一句, 除非你明确知道(想要)导致的结果.
这种做法称作最佳实践
这篇关于javascript - 关于一个分号的问题,为什么没有分号就报错了呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文