博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
写javascript时要不要省略分号?
阅读量:6905 次
发布时间:2019-06-27

本文共 992 字,大约阅读时间需要 3 分钟。

javascript自动填补分号的规则

在说要不要写分号之前,先了解一下javascript自动填补分号的规则。

在《javascript权威指南》中有一段话“如果一条语句以“(”、“[”、“/”、“+”、或“-”开始,那么它极有可能和前一条语句合在一起解释。”,写javascript的时候,如果每条语句都独自写成一行,是不需要写分号的,但是下一行如果遇到上面提到的符号,javascript可能会与下一行合并解释。其中以“/”、“+”和“-”开头的语句在实现项目中比较少见,以“(”和“[”开头的则非常常见。下面各找了一个例子来说明。

以“(”开头的情况:

a = b(function() {})()12345复制代码

javascript会解释成:

a = b(function() {})();1234复制代码

以“[”开头的情况

a = function() {}[1,2,3].forEach(function(item) {});1234567复制代码

javascript会解释成:

a = function() {}[1,2,3].forEach(function(item) {});12345复制代码

以“/”开头的情况

a = 'abc'/[a-z]/.test(a)123复制代码

期望的结果为true,但是javascript会解释成,接着就报错了:

a = ‘abc’/[a-z]/.test(a);12复制代码

以“+”开头的情况

a = b+c123复制代码

javascript会解释成

a = b + c;12复制代码

以“-”开头的情况

a = b-c123复制代码

javascript会解释成

a = b - c;12复制代码

如果在return、break、continue、throw等关键字后面换行,javascript会在换行处填补分号。如:

return{    a: 1}12345复制代码

会解释成:

return;{    a: 1}12345复制代码

如果“++”或“–”运算符作为表达式的后缀时,表达式应该写在同一行,否则也会解释有误

例如:

x++y1234复制代码

会解释成:

x;++y;123复制代码

而不是

x++;y;123复制代码

要不要写分号

不在于要不要写 而是要知道怎么写会报错 以及报错后怎么解决

转载地址:http://rwmdl.baihongyu.com/

你可能感兴趣的文章
如何增加自己命中没有的福报
查看>>
笔记本电脑连不上无线网怎么办?
查看>>
Shard 分片集群
查看>>
MySQL数据备份和恢复工具大全
查看>>
sql 学习!!!
查看>>
全球最便宜的八核手机 - 小采手机? 吸引眼球!
查看>>
shell练习-对指定目录下的符合条件的文件执行操作
查看>>
SQOOP2 连接 Oracle 数据库为什么会报错?
查看>>
Go by Example: Variables
查看>>
Java语言下ICTCLAS分词系统的bug问题
查看>>
【Windows系统】用户配置文件删除
查看>>
myprintf
查看>>
JQuery之动画与特效
查看>>
最常用的图形接口:VNC
查看>>
log4j日志异步化大幅提升系统性能
查看>>
C#数据类型转换
查看>>
sqlplus查询数据时,显示乱码的解决办法
查看>>
SDN面临的非技术性挑战
查看>>
苦逼的光网络终获新生:数据中心互联市场去年超25亿美元
查看>>
Horzion view windows2012域控环境,如何导入ADMX模板。
查看>>