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

JS分号可以省掉吗?

第一反应就是JS引擎将代码生成语法树的时候,可能解析不正确。于是,我在第一行末尾加分号测试。...大宗师Douglas Crockford表示要正确使用分号 引用minhan在扯不完的 JS 分号问题文中的论述: JSON、JSLint、JSMin和ADSafe 的创造者、ECMA JavaScript...如果你不想用分号,又怕出问题,v2ex上有位童鞋给出了一个速记方案: 如果你写 JS 代码不喜欢带分号,而又搞不清什么时候必须加分号,可以这么做:在以 "("、"[" 、"/"、"+"、"-" 开头的语句前面都加上一个分号...) 关于Fundebug Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。...版权声明 转载时请注明作者 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 =....js:3 (function () { ^ TypeError: "加不加分号呢" is not a function at Object...._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js...:191:16) at bootstrap_node.js:612:3 正确的写法: let msg = '加不加分号呢' ;(function () { console.log('我是一个匿名函数

    2K20

    写好jquery的良好习惯

    在前端工作中,我们需要写很多的javascript代码。我本人对JS一窍不通。因此,在逐渐的学习jquery。这还是比较简单的,可以完成我日常工作中的大多数需求。 但是在学习中,要保持良好的习惯。...我的个人总结如下: 善用变量,尤其是对DOM结构中的ID以及CLASS 多写注释,自己不熟,前面写后面忘,所以要多谢注释 善用函数,对重复运用的代码写成函数,多处调用 多写分号,很多分号可以省略,但还是写上为好...但是可以搞清楚它的原理 命名清楚,英文或者拼音,但一定要清楚,不能让人云里雾里 外调JS压缩,多处共用且无需修改的JS压缩处理,可以减少流量 内部JS不压缩,里面可能会使用的程序输出,因此不要压缩,避免出错

    24440

    js语法(1)_css语法

    js自动插入分号规则 a. 什么时候需要写分号 什么时候不能写分号 要有换行符,且下一个符号是不符合语法的,那么就尝试插入分号。...有换行符,且语法中规定此处不能有换行符,那么就自动插入分号。 源代码结束处,不能形成完整的脚本或者模块结构,那么就自动插入分号。...之间不能插入换行 凡是async关键字,后面都不能插入换行 箭头函数的箭头前,也不能插入换行 yield之后,不能插入换行 带换行符的注释也被认为是有换行符 一行开头是括号或者方括号的时候加上分号就可以了...以数组开头的语句 var a = [[]]/*这里没有被自动插入分号*/ [3, 2, 1, 0].forEach(e => console.log(e)) C....`Template`.match(/(a)/); console.log(RegExp.$1) -附录. void操作 功能: 因为undefined在js中不是保留字 所以 function

    3.8K20

    15分钟快速配置eslint,prettier,lint-staged,husky,commitizen实现前端项目代码规范化

    printWidth: 100, // 使用 4 个空格缩进 tabWidth: 4, // 不使用缩进符,而使用空格 useTabs: false, // 行尾需要有分号...arrowParens: 'always', // 每个文件格式化的范围是文件的全部内容 rangeStart: 0, rangeEnd: Infinity, // 不需要写文件开头的...使用prettier的扩展规则有两种方式: 注意:不需要写extends:"prettier",光下面的配置即可 方式一: { "plugins": ["prettier"], "rules":...重点: 如果使用方式二,同时安装 eslint-config-prettier 作用:禁用与lint相关的所有格式化规则。...注意: 由于编辑器等自动格式化配置设置了走.prettierrc.js文件,建议写覆盖的配置,写在这里,不要写在.eslintrc.js配置中,否则可能得不到想要的结果。

    3.8K31
    领券