首页
学习
活动
专区
圈层
工具
发布

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/

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

    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

    2.2K20

    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('我是一个匿名函数

    2.5K20

    为什么要用 Node.js

    为什么要用 Node.js 面对一个新技术,多问几个为什么总是好的。既然 PHP、Python、Java 都可以用来进行后端开发,为什么还要去学习 Node.js?...基础概念 在介绍 Node.js 之前,理清楚一些基本概念有助于更深入的理解 Node.js 。...Node.js 线程模型 很多文章都提到 Node.js 是单线程的,然而这样的说法并不严谨,甚至可以说很不负责,因为我们至少会想到以下几个问题: 1、Node.js 在一个线程中如何处理并发请求?...Node.js做些什么》 Node.js是一个Javascript运行环境(runtime)。...Node.js的优点 nodejs作为一个新兴的后台语言,有很多吸引人的地方: RESTful API 单线程 Node.js可以在不新增额外线程的情况下,依然可以对任务进行并行处理 —— Node.js

    3K80

    js不加分号竟然会导致报错

    js不加分号竟然会导致报错 在使用ES6新特性的时候,有时候会出现一些奇怪的bug,明明代码写得很基础,一眼就能看懂正在做什么,但是结果却往往事与愿违,出现一些完全无法理解的特殊情况,不管是多少次反复检查...JS 解释器在解析时,会尝试自动补充分号,但它有一些固定规则:行首如果是 [ 或 (,解释器会优先认为它和上一行是同一条语句,所以 [a, b] = ......这个本质上是设计不兼容导致的,ASI 在早期 JS 里是“容错机制”,帮人少打几个 “ ;” ,但在 ES6 之后,JS 语法更复杂(解构、箭头函数、async/await),ASI 就经常和直觉冲突。...四、拓展:JS 中必须小心分号的场景 说来惭愧,这其实不是我第一次被 ASI“坑”了。...,后面如果直接换行,JS 会自动插入分号,导致返回值丢失。

    35310

    都9102年了,还需要用到 jQuery 吗?

    随着现代库和框架的出现,浏览器 API 的标准化以及需要 jQuery 技能的职位减少,开发人员仍然需要继续学习 jQuery 吗。...在本文中,我将介绍 jQuery 的历史、优点、缺点以及为什么你仍要用它。 什么是jQuery?...jQuery React JS Angular JS Vue JS 类型 库 UI库 全功能框架 在库和功能齐全的框架之间进行扩展。...用原生 js 制作动画内容仍然比较困难。如果你的项目需要大量动画,jQuery 可能是一个合适的选项,因为有大量可自定义的插件能够帮助补充易于使用的 .animate 方法。 为多个浏览器构建。...你可以将它包含在项目中,如下所示: js/jquery-3.4.1.js"> 作为替代方案,你可以使用包管理器

    3.4K40
    领券