首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaScript里的分号,你还是不加?

因此,在编写JavaScript程序时,一般会有两种编码习惯,加分号 和 不加分号 : 加分号: 许多程序员使用分号来明确标记语句的结束,即使在并不完全需要分号的时候也是如此; 不加分号: 另一种风格是...,在任何可以省略分号的地方,都将其省略,只有在不得不用的时候才使用分号。...2.什么情况下可以不加分号 不加分号的情况下,JavaScript在解析时会自动插入分号,在满足以下两个条件的情况下,JavaScript会自动插入分号,可以不加分号: 2.1每条语句各占一行 如果多条语句中每条语句各占一行...但是,有2个例外, 3.1 return ,break和continue 如果涉及 return 、break、continue 时,如果这三个关键字后紧跟换行,则该关键字后一定会插入分号; 如: return...true 一定会被解析成 return; true; 这显然违背了代码的本意。

1.9K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS分号可以省掉吗?

    第一反应就是JS引擎将代码生成语法树的时候,可能解析不正确。于是,我在第一行末尾加分号测试。...大宗师Douglas Crockford表示要正确使用分号 引用minhan在扯不完的 JS 分号问题文中的论述: JSON、JSLint、JSMin和ADSafe 的创造者、ECMA JavaScript...这是一个辅助性的功能,然后有一些情况要注意: 如果你这样写代码: return a + b 那么自动分号插入后会这样: return; a + b; 更可能导致隐含BUG的状况是: a = b + c...如果你不想用分号,又怕出问题,v2ex上有位童鞋给出了一个速记方案: 如果你写 JS 代码不喜欢带分号,而又搞不清什么时候必须加分号,可以这么做:在以 "("、"[" 、"/"、"+"、"-" 开头的语句前面都加上一个分号...版权声明 转载时请注明作者 Fundebug以及本文地址: https://blog.fundebug.com/2018/09/18/js-semicolon-bug/

    9K60

    JS该写分号嘛? - wuuconixs blog

    ASI 在写JS之前,我一直在写Python,习惯了没有分号的代码。 刚好,JS为我们提供了 自动分号插入 Automatic Semicolon Insertion!...> node 1.js /root/1.js:2 (function log() { ^ TypeError: 1 is not a function 提示显示1不是一个函数,看来引擎把代码理解成了这个样子...> node 1.js /root/1.js:2 [a, b] = [b, a] ^ ReferenceError: Cannot access 'b' before initialization...总结 实际上,完全不用为了ASI在一些情况下导致错误而每行都加上一个分号。...对于我目前遇到的这两种情况,可以总结一下,如果一行的开始是一个(或者[,那么再上一行你需要手动加上一个分号,至于其他的情况,完全不用考虑分号~ 还可以参考一下尤大的这篇回答 https://www.zhihu.com

    1.1K20

    node.js要不要加分号

    一开始,关于在node.js句末不加分号,我是拒绝的。因为有时不加分号会报错。 我觉得node.js在语法层面挺拧巴的,要么就像PHP那样严格要求加分号,要么就像python一律不加分号。...不加分号,这是一个问题 直到有一天我了解了不加分号的场景,才终于释然 一言以蔽之:当代码是以 ( [ ` 这些符号开头时,就需要在代码之前加上分号,其他场景都不需要加分号 let msg =...'不加分号呢' (function () { console.log('我是一个匿名函数') }()) 结果报错: 我是一个匿名函数 /Users/airmb/code/node/01/04....js:3 (function () { ^ TypeError: "不加分号呢" is not a function at Object....:191:16) at bootstrap_node.js:612:3 正确的写法: let msg = '不加分号呢' ;(function () { console.log('我是一个匿名函数

    2K20

    每天学点JavaScript基础(2)——JavaScript里的分号,你还是不加?

    JavaScript里的分号,你还是不加? 1.前言 我们接触的大部分编程语言,都会以 分号 作为代码的结束,将程序语句分隔开来,JavaScript同样如此。...因此,在编写JavaScript程序时,一般会有两种编码习惯,加分号 和 不加分号 : 加分号: 许多程序员使用分号来明确标记语句的结束,即使在并不完全需要分号的时候也是如此; 不加分号: 另一种风格是...2.什么情况下可以不加分号 不加分号的情况下,JavaScript在解析时会自动插入分号,在满足以下两个条件的情况下,JavaScript会自动插入分号,可以不加分号: 2.1每条语句各占一行 如果多条语句中每条语句各占一行...但是,有2个例外, 3.1 return ,break和continue 如果涉及 return 、break、continue 时,如果这三个关键字后紧跟换行,则该关键字后一定会插入分号; 如: return...true 一定会被解析成 return; true; 这显然违背了代码的本意。

    92111

    JS高级前端开发群群说明

    同时也有很多同学问我高级群怎么的?高级群里边都有一些什么人?他们都在讨论什么问题?什么阶段的人进入高级群?  就这些问题,写一篇文章正面回应一下。 二....现在群的组织分布是这样的,理解的状态是以下的几种,但最终的目的是想创建一个:互联网学习净土,或一个人才培养输出的基地:  JS高级前端开发群,JS中级前端开发群,JS初级前端开发群,JS入门级前端开发群...JS初级前端开发群 389875212 [2000人大群]:有一年左右的工作经验,了解行业,职业的方向。具备css,js基础能力者。 ?...JS高级前端开发群 [2000人大群] :3年前端工作经验以上,具备独立开发前端能力,有一定的带人经验,具备CTO候选人资质者。当然有深厚JS功底者,可破格邀请进入。...说明: 以上各群入门群,初级群,JS中级前端开发群,JS高级前端开发群关闭正常的群入口,由群主单方向邀请加入。 不建议串群,一个账号加多个群,一旦发现直接T。

    4K20

    Jquery基础(三) js方法转换金额逗号显示

    今天在项目遇到后台返回一个属性,如:Long loan_money = 123456789L,页面中显示金额又不能从后台转化后返回给前台; 这时候就需要在页面中添加js方法对金额数字进行转化了,js方法如下...: 转化规则:对输入参数number金额的数字,每隔3位一逗号隔开显示.n表示显示精度,但只能是0值 举例如下: var show_money1 =  parseFormatNum("123456",...//数字逗号 function parseFormatNum(number,n){    if(n != 0 ){        n = (n > 0 && n <= 20) ? ..."," : "");       }       if(n == 0 ){         return show_html.split("").reverse().join(..."");       }else{     return show_html.split("").reverse().join("") + "." + sub_xs;       }

    4.6K30

    写给前端专家的一封公开信:关于分号(翻译)

    第四条是我们恐惧的诱因:「不行,你一定要加上分号,不然下一行的二元操作符会引发问题的!」但是,如果下一行不想影响上一行,只要在行首一个分号就能解决问题。...如果你在 return throw break continue ++ 或 -- 后面一个 \n,那么语句就立即结束。...// 预期 return 7 // 产生错误 return 7 我必须再一次强调,在你改变了「在一切语句后面加分号」的习惯后,这种问题是非常容易发现和避免的。...而且,他们所谓不靠谱都与 Restricted Productions 有关,在所有地方加分号只会让 return\n7 变成 return;7;,真正的问题在于你乱加回车,而不是分号。...所以不要再拿 return 的例子来说自动加分号的坏话了,如果你不了解 ASI 的话你就承认自己在滥用分号就好了。

    77270
    领券