JavaScript 语句后应该加分号么?
5个回答
2015-10-09 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
分号加与不加完全取决于个人习惯,但为了代码稳定(解析出错)还是建议使用分号断句。
JavaScript自动加分号规则:
1.当有换行符(包括含有换行符的多行注释),并且下一个token没法跟前面的语法匹配时,会自动补分号。
2.当有}时,如果缺少分号,会补分号。
3.当程序源代码结束时,如果缺少分号,会补分号。
结论:
1.在return、break、continue、后自增、后自减五种语句中,换行符可以完全替代分号的作用。
2.var if do while for continue break return with switch throw try debugger几种关键字开头的语句,以及空语句,上一行加不加分号影响不大。
3.凡表达式语句和函数表达式语句,后面不加分号非常危险,情况极其复杂。
4.凡(和[开头的语句,前面不加分号极度危险。
JavaScript自动加分号规则:
1.当有换行符(包括含有换行符的多行注释),并且下一个token没法跟前面的语法匹配时,会自动补分号。
2.当有}时,如果缺少分号,会补分号。
3.当程序源代码结束时,如果缺少分号,会补分号。
结论:
1.在return、break、continue、后自增、后自减五种语句中,换行符可以完全替代分号的作用。
2.var if do while for continue break return with switch throw try debugger几种关键字开头的语句,以及空语句,上一行加不加分号影响不大。
3.凡表达式语句和函数表达式语句,后面不加分号非常危险,情况极其复杂。
4.凡(和[开头的语句,前面不加分号极度危险。
2018-06-27 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
分号加与不加完全取决于个人习惯,但为了代码稳定(解析出错)还是建议使用分号断句。
JavaScript自动加分号规则:
1.当有换行符(包括含有换行符的多行注释),并且下一个token没法跟前面的语法匹配时,会自动补分号。
2.当有}时,如果缺少分号,会补分号。
3.当程序源代码结束时,如果缺少分号,会补分号。
结论:
1.在return、break、continue、后自增、后自减五种语句中,换行符可以完全替代分号的作用。
2.var if do while for continue break return with switch throw try debugger几种关键字开头的语句,以及空语句,上一行加不加分号影响不大。
3.凡表达式语句和函数表达式语句,后面不加分号非常危险,情况极其复杂。
4.凡(和[开头的语句,前面不加分号极度危险。
JavaScript自动加分号规则:
1.当有换行符(包括含有换行符的多行注释),并且下一个token没法跟前面的语法匹配时,会自动补分号。
2.当有}时,如果缺少分号,会补分号。
3.当程序源代码结束时,如果缺少分号,会补分号。
结论:
1.在return、break、continue、后自增、后自减五种语句中,换行符可以完全替代分号的作用。
2.var if do while for continue break return with switch throw try debugger几种关键字开头的语句,以及空语句,上一行加不加分号影响不大。
3.凡表达式语句和函数表达式语句,后面不加分号非常危险,情况极其复杂。
4.凡(和[开头的语句,前面不加分号极度危险。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不写分号并非是js的强制语法规则。而且js只是保证了可以帮你加上,但并不是一定帮你准确的加上。所以,如果要不写分号,那么就需要建立在JavaScript能够保证正确的给源代码加上分号,当然这个时候不写分号就成为了JavaScript的标准语法规则了。就如同缩进是语法规则的pyhton,所以如果去python那里主张一下去掉缩进会是什么后果可想而知。
大家都吃水果,突然有一天有人说水果里面李子好吃,大家都吃李子吧。果然是争论一片。虽然说爱吃啥吃啥比较明智一点,但是,争论半天到底最终吃的还是不是水果,也没有人关心是拨皮还是不拨皮了。
作为多种语言工具的使用者,从C开始可能保持了写分号,在js这里遇到了一个程序语言定义上出现的分号可不写的大坑,但也不说明从C开始爱写分号有什么错,只是想简简单单的将通用的语法规则用到其他语言上,所以,能够掌握什么时候写什么时候不写的确很流弊,的确很大神。但是我什么时候都写分号,照样不影响正常生理工作也很重要。
所以不写分号很流弊,但是要想让我站到不写分号党,那么就请让不写分号可以保证能够正确的给我加上分号再说吧。
大家都吃水果,突然有一天有人说水果里面李子好吃,大家都吃李子吧。果然是争论一片。虽然说爱吃啥吃啥比较明智一点,但是,争论半天到底最终吃的还是不是水果,也没有人关心是拨皮还是不拨皮了。
作为多种语言工具的使用者,从C开始可能保持了写分号,在js这里遇到了一个程序语言定义上出现的分号可不写的大坑,但也不说明从C开始爱写分号有什么错,只是想简简单单的将通用的语法规则用到其他语言上,所以,能够掌握什么时候写什么时候不写的确很流弊,的确很大神。但是我什么时候都写分号,照样不影响正常生理工作也很重要。
所以不写分号很流弊,但是要想让我站到不写分号党,那么就请让不写分号可以保证能够正确的给我加上分号再说吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我还想补充一下自己使用过程中感到的方便。我是支持和推荐使用无分号的风格的。这确实是风格和习惯问题。我的习惯除了不加分号,还有两空格缩进前置逗号对象字面量或数组字面量两个分号/中括号占两行(第一个分号跟在括号、逗号或等号后面,不换行),第一行缩进四空格,之后前置逗号,缩进两格用一个 var 语句来举例就是
这样的方便之处在于,如果你要新添加一个声明变量,只要在最后添加即可,如果使用分号结尾、后置逗号的风格,你需要先把最后的分号改成逗号,新加的一行最后也不要忘掉分号。如果你要删除一行,用我上面说的这种的风格只需要直接删除(除非是第一行),而后置逗号加分号的风格还要把最后的逗号再改成分号。
例外就是删除第一行时,需要把第一个逗号改成 var。不过声明变量时一般把确定的变量放在前面,第一行尽量少改动。说到这里忘了一点,一般把带默认值的声明写在前面,不带默认值的声明写在最后,一般最后一行写多个。
之前我试过第二行以后的逗号对齐 v 来写,但后来发现后面的逗号还是空两格更容易识别。
这是我推荐的写法,不过我想说,整洁易读保持一致性的风格就是好风格。
这样的方便之处在于,如果你要新添加一个声明变量,只要在最后添加即可,如果使用分号结尾、后置逗号的风格,你需要先把最后的分号改成逗号,新加的一行最后也不要忘掉分号。如果你要删除一行,用我上面说的这种的风格只需要直接删除(除非是第一行),而后置逗号加分号的风格还要把最后的逗号再改成分号。
例外就是删除第一行时,需要把第一个逗号改成 var。不过声明变量时一般把确定的变量放在前面,第一行尽量少改动。说到这里忘了一点,一般把带默认值的声明写在前面,不带默认值的声明写在最后,一般最后一行写多个。
之前我试过第二行以后的逗号对齐 v 来写,但后来发现后面的逗号还是空两格更容易识别。
这是我推荐的写法,不过我想说,整洁易读保持一致性的风格就是好风格。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当一行代码以左小括号:(,左中括号:[,反引号:` 开头时,需要在行前补分号,其它可以不写分号。例如:
;(function (){
console.log('Hello')
})();
['apple','banana'].forEach(function(item){
console.log(item)
})
;`hello`.toString()
;(function (){
console.log('Hello')
})();
['apple','banana'].forEach(function(item){
console.log(item)
})
;`hello`.toString()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询