首页
学习
活动
专区
工具
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不是一个函数,看来引擎把代码理解成了这个样子...a: 4 b: 3 c: 3 d: 4 js把中间的两个swap看成了 [a, b] = [b, a][c, d] = [d, c] 仍然是一个连等,我们需要从右往左看,首先是[b, a][c, d]...总结 实际上,完全不用为了ASI在一些情况下导致错误而每行都加上一个分号。...对于我目前遇到的这两种情况,可以总结一下,如果一行的开始是一个(或者[,那么再上一行你需要手动加上一个分号,至于其他的情况,完全不用考虑分号~ 还可以参考一下尤大的这篇回答 https://www.zhihu.com

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

    2K20

    JS逆向 | 助力新手 , 两个JS逆向喂饭教程

    所以我这次准备了两个比较简单的练手加密,从分析到复写加密一步一步截图, 我就不信这样你还学不会! ? 加密一 ?...这里要解决的只有两个: 返回的密文 请求中的token 接下来定位加解密位置。 定位加密位置与分析加密 按照之前的套路,我们第一步是要搜索加密参数名 token ?...分析请求 这次要分析的网站不同上一个的是,这次网站使用的是 cookie 加密, cookie 的有效期过了之后就会返回一段 js 。 ?...使用有效的 cookie 请求我们需要的数据就在返回的网页中,所以我们只要解决这段 js 就好了。 ? 分析加密 把返回的 js 复制到编辑器里格式化,可以看到代码分为两个部分: 参数定义部分: ?...到这里加密就分析结束了,获取全部代码,请加我微信回复「JS逆向」

    1.8K20

    JS逆向 | 助力新手 , 两个JS逆向喂饭教程

    所以我这次准备了两个比较简单的练手加密,从分析到复写加密一步一步截图, 我就不信这样你还学不会! 加密一 ?...这里要解决的只有两个: 返回的密文 请求中的token 接下来定位加解密位置。 定位加密位置与分析加密 按照之前的套路,我们第一步是要搜索加密参数名 token ?...分析请求 这次要分析的网站不同上一个的是,这次网站使用的是 cookie 加密, cookie 的有效期过了之后就会返回一段 js 。 ?...使用有效的 cookie 请求我们需要的数据就在返回的网页中,所以我们只要解决这段 js 就好了。 ? 分析加密 把返回的 js 复制到编辑器里格式化,可以看到代码分为两个部分: 参数定义部分: ?...到这里加密就分析结束了,获取全部代码,请后台回复「JS逆向」 加密二,完。

    5.4K50

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

    因此,在编写JavaScript程序时,一般会有两种编码习惯,加分号 和 不加分号 : 加分号: 许多程序员使用分号来明确标记语句的结束,即使在并不完全需要分号的时候也是如此; 不加分号: 另一种风格是...,在任何可以省略分号的地方,都将其省略,只有在不得不用的时候才使用分号。...2.什么情况下可以不加分号 不加分号的情况下,JavaScript在解析时会自动插入分号,在满足以下两个条件的情况下,JavaScript会自动插入分号,可以不加分号: 2.1每条语句各占一行 如果多条语句中每条语句各占一行...2.2 不加分号则上下两行代码无法解析 JavaScript并不是在所有换行的地方都填补分号,只有在缺少了分号就无法正确解析代码的情况下,才会填补分号; 如下示例: let a a = 3...; 加上分号在某些情况下可以增进代码的性能,因为这样解析器就不用花多余的时间去推测在哪里添加分号了。

    2K11

    bash 脚本中分号的作用「建议收藏」

    在Linux bash shell中,语句中的分号一般用作代码块标识 1、单行语句一般要用到分号来区分代码块。...比如: weblogic@pmtest:/if [ “PS1” ]; then echo test is ok; fi test is ok 该脚本或命令行中,须要两个分号才为正确的语句,第一个分号是then...前的分号,用于标识条件块结束。...第二个分号在fi前,用于标识then块结束,假设缺少这两个分号,则程序运行错误。 这里有趣的是echo后的字符串不须要使用引號也能正确地被识别。 注意:语句结尾不要分号。 2、该代码若写作多行。...用换行符来区分代码块,则无需用到分号,比如: weblogic@pmtest:/$if [ “PS1” ] > then echo “test is ok” > fi test is ok 从这个样例可看出

    2.2K20

    Python 为什么不用分号作终止符?

    一般而言,编程语言中使用分号“;”来实现两种目的: 作为语句分隔符:使用分号来分隔语句(statement),这样就能在一行代码中书写多条语句(一行多句) 作为语句终止符:使用分号来终止语句,这样就能把多行代码识别为一条语句...单纯看“分隔符”与“终止符”,它们都是必须的,然而是否都要用分号来表示呢?这个问题没有达成一致的标准。 Python 中使用了分号作为语句分隔符,但是不用分号作为终止符, 而是用了换行作为终止符。...若在一句完整的语句末尾加了分号,然后换行,那么 IDE 一般会提示“Trailing semicolon in the statement”,提示着这个“尾随分号”是多余的。...按我粗浅的理解,尾随分号实际会被当成分隔符,只不过它后面是“空语句”,然后是换行(即终止符)。分隔空语句是无必要的,所以尾随分号就成了多余的。 ?...这是最主要的原因,是跟“分号党”的根本区别 不用分号与花括号,但是使用缩进和冒号,这是一脉相承的思路,总体上形成了更高的可读性、简洁性和标准化。

    1.3K30
    领券