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

JS分号可以省掉吗?

摘要: JavaScript语言从设计之初就是考虑带分号,使用不带分号编码规则就要小心点啦。...这么简单代码为什么会出错呢?第一反应就是JS引擎将代码生成语法树时候,可能解析不正确。于是,我在第一行末尾加分号测试。...在网络上搜索JavaScript关于分号BUG,发现有非常多关于要不要使用分号讨论。...大宗师Douglas Crockford表示要正确使用分号 引用minhan在扯不完 JS 分号问题文中论述: JSON、JSLint、JSMin和ADSafe 创造者、ECMA JavaScript...如果你不想用分号,又怕出问题,v2ex上有位童鞋给出了一个速记方案: 如果你写 JS 代码不喜欢带分号,而又搞不清什么时候必须加分号,可以这么做:在以 "("、"[" 、"/"、"+"、"-" 开头语句前面都加上一个分号

9K60

JS魔法堂:ASI(自动分号插入机制)和前置分号

回答,让我又一次看到大牛风采,实在佩服万分。但单纯敬佩是不足以回报他如此优秀文字,必须深入理解文字含义和背后原理才不愧呢!   在这之前我们需要先理解ASI(自动分号插入机制)。...,而且必须加分号,否则编译就不通过了。...ASI机制不是说在解析过程中解析器自动把分号添加到代码中,而是说解析器除了分号还会以换行为基础按一定规则作为断句依据,从而保证解析正确性。    首先这些规则是基于两点: 1....因此分不分号纯属个人和团队偏好问题,当然也可以混合使用咯(下面借一下大牛@高原图) ?  ...对于我这种能少敲键盘则少敲,能不用鼠标就不用大懒虫,自然而然加入到“无分号党”怀抱咯,入党前提条件就是记住一下规则来应付No ASI情况: 在以 ([/+- 开头语句前加分号(由于正常写法均不会出现以

1.7K80
您找到你想要的搜索结果了吗?
是的
没有找到

JS该写分号嘛? - wuuconixs blog

ASI 在写JS之前,我一直在写Python,习惯了没有分号代码。 刚好,JS为我们提供了 自动分号插入 Automatic Semicolon Insertion!...这让我们在大部分情况下都不用写分号,非常优雅。 然而ASI在某些情况下将产生错误。 ASI发生错误情况 IIFE 立即调用函数表达式 考虑以下代码。...> node 1.js a: 4 b: 3 c: 3 d: 4 js把中间两个swap看成了 [a, b] = [b, a][c, d] = [d, c] 仍然是一个连等,我们需要从右往左看,首先是...这种没有报错隐式错误,真在Leetcode刷题时候 够你Debug半天了2333。 总结 实际上,完全不用为了ASI在一些情况下导致错误而每行都加上一个分号。...对于我目前遇到这两种情况,可以总结一下,如果一行开始是一个(或者[,那么再上一行你需要手动加上一个分号,至于其他情况,完全不用考虑分号~ 还可以参考一下尤大这篇回答 https://www.zhihu.com

1.1K20

node.js要不要加分号

一开始,关于在node.js句末不加分号,我是拒绝。因为有时不加分号会报错。 我觉得node.js在语法层面挺拧巴,要么就像PHP那样严格要求加分号,要么就像python一律不加分号。...而node.js却表现出一副欲拒还迎姿态,让人感觉就是既要拥抱变化,又要抱残守缺。 ?...加不加分号,这是一个问题 直到有一天我了解了加不加分号场景,才终于释然 一言以蔽之:当代码是以 ( [ ` 这些符号开头时,就需要在代码之前加上分号,其他场景都不需要加分号 let msg =....js:3 (function () { ^ TypeError: "加不加分号呢" is not a function at Object....:191:16) at bootstrap_node.js:612:3 正确写法: let msg = '加不加分号呢' ;(function () { console.log('我是一个匿名函数

1.9K20

WordPress移除head头部js、css、feed等多余加载项

在我们开发WordPress主题时,细心小伙伴或发现网站头部如果加载head页面就会出现很多系统自带加载项目,例如自带css、js、feed、style等多余信息。...这些加载项目很多是没有必要加载,那么我们如何将这些多余head头部信息移除呢? 方法很简单,网上针对此类WordPress优化教程也很多,今天WPTOO教程网就给大家整理下。...我们先看看移除多余加载项之前代码截图 解决方法 //去除头部多余加载信息 remove_action( 'wp_head', 'wp_generator' );//移除WordPress版本 remove_action...rest_output_link_wp_head', 10 ); //移除wp-json remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); //头部JS...head头部是不是少了很多多余加载项信息? 下面是精简后代码截图 ?

2.5K20

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

在JavaScript中,如果语句各自独占一行,通常可以省略语句之间分号(程序结尾或者右“}”之前分号也可以省略。)...因此,在编写JavaScript程序时,一般会有两种编码习惯,加分号 和 不加分号 : 加分号: 许多程序员使用分号来明确标记语句结束,即使在并不完全需要分号时候也是如此; 不加分号: 另一种风格是...,在任何可以省略分号地方,都将其省略,只有在不得不用时候才使用分号。...如: x ++ y 这段代码解析为: x; ++y; 而不是: x++;y; 4.使用分号好处 加上分号可以避免很多错误(例如,不完整输入),开发人员可以放心通过删除多余空格来压缩代码...; 加上分号在某些情况下可以增进代码性能,因为这样解析器就不用花多余时间去推测在哪里添加分号了。

1.5K11

清除linux系统多余引导

由于我把系统给升级(update)了,在grub引导模式出现新旧版本(Grub与Grub2)引导系统分别为正常启动和进入恢复模式各2个引导项,如下图显示:百度找不到相关或类似的教程,只好半夜起来研究,...此时我们选择新版本引导项(旧版本引导是无法登录系统),进入系统后打开终端界面,使用cd命令切换到/boot分区,再用ls命令查看该分区,此时应该会有显示grub和grub2这两个文件夹,重点在grub2...这个文件夹内,cd命令切换到/boot/grub2/目录下,再用ls查看目录下内容,使用VIM编辑器找到并打开gurb.conf文件,找到多余引导代码行删除并保存后方可重启。...多余代码可以从启动时选项中参考,重启后就剩下新版本正常启动和恢复模式了,grub.conf文件中每一个menuentry就是一个引导项,所以找到你要删引导项,删除整个menuentry{}即可。

6K20

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

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

2.2K20
领券