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

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

ASI机制不是说在解析过程中解析器自动把分号添加到代码中,而是说解析器除了分号还会以换行为基础按一定的规则作为断句的依据,从而保证解析的正确性。    首先这些规则是基于两点: 1....代码块的最后一个语句会自动插入分号 function(){ a = 1 } // 等价于 function(){ a = 1; }    No ASI的规则  1....那既然存在ASI机制,那为什么还有那么多团队的代码规范中还规定必须写分号呢?不外乎三个原因:1. 因为存在No ASI的情况,懒得记忆这些特例;2....团队的工程师需要兼顾前后端开发(苦逼如我~~),而后端采用Java、C#或PHP,保持两端代码规范接近管理成本较低;3. 旧有的规范就是这样,现在也没必要改了。  ...对于省略分号后代码压缩工具会出问题,jslint会对无分号的代码报warning等问题,贺师俊已经在回复中对其进行详细说明了。

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

    JS的分号可以省掉吗?

    这么简单的代码为什么会出错呢?第一反应就是JS引擎将代码生成语法树的时候,可能解析不正确。于是,我在第一行末尾加分号测试。...大宗师Douglas Crockford表示要正确使用分号 引用minhan在扯不完的 JS 分号问题文中的论述: JSON、JSLint、JSMin和ADSafe 的创造者、ECMA JavaScript...号作为中缀运算符使用,这个代码不久将来就运行不了。赶紧修复吧,学学怎么正确地使用分号。『!』号并不语句的分隔号,『;』才是。 JSMin处理如下代码后无法正确执行: clearMenus() !...这是一个辅助性的功能,然后有一些情况要注意: 如果你这样写代码: return a + b 那么自动分号插入后会这样: return; a + b; 更可能导致隐含BUG的状况是: a = b + c...如果你不想用分号,又怕出问题,v2ex上有位童鞋给出了一个速记方案: 如果你写 JS 代码不喜欢带分号,而又搞不清什么时候必须加分号,可以这么做:在以 "("、"[" 、"/"、"+"、"-" 开头的语句前面都加上一个分号

    9.1K60

    好程序员不写代码

    最好的代码就是根本没代码。 简单说来,无码胜有码。 ?...程序员写多少代码不重要,重要的是解决问题的效率。 不用你写、不用你维护的才是好代码——直接用的现成解决方案嘛。 简单几句话,仿佛说到了众多同行的心坎里。...圣诞之后新年之前的垃圾时间里,他这条不总结不展望不拜年的Twitter,已经被转发了700多次,收获了2100多赞。 多写代码就是好?...从零开始(用纯Python、numpy、甚至JS)实现全连接网络、卷积神经网络、RNN、反向传播、SGD,然后用小训练集来训练这些模型是一种学习神经网络如何工作的好方法。...One More Thing 知乎上曾经流传着这样一个问题:程序员真的很少写代码吗? 有网友嘲讽&自黑,说写代码多、天天敲键盘的程序员是“苦力”、“段位不够”。

    72520

    CTO不写代码,真的可以吗?

    到底写不写代码?该不该做代码评审(Code Review),亲力亲为给程序员做出榜样?还是把握一下大方向,设计架构,管管程序员,提供一些培训?...2018 年 9 月 7 日-8 日,第二届 CTDC 首席技术官领袖峰会在乌镇举行,易宝 CTO 陈斌为大家带来了《CTO 是否要写代码?》的演讲,以下为演讲内容实录整理(有删减)。...这个坐标轴最左面是操作一级的,比如说写代码、测试网络、测试、搭防火墙、写脚本等等,到中间是管理上的事,再往右边是领导上的事情。...是写代码的人管,还是 CTO 管? 在这种情况下,CTO 还要不要写代码,CTO 如果写了代码谁来管上面这些事?我粗浅地给大家归归类,CTO 应该干什么,CTO 该聚焦什么。...还有采取小团队制度,不超过 8 到 10 个人,因为手就十个手指,多一个就需要这个人有特别的训练,每增加一个是一个指数级的增加。

    1.5K40

    写与不写:程序员对代码注释之争

    写与不写:程序员对代码注释之争 博主 默语带您 Go to New World....⌨ 《写与不写:程序员对代码注释之争》 摘要 在程序员的世界里,注释常常成为了讨论的焦点。据说,程序员最烦的两件事是别人不写注释以及自己要写注释。为何写注释在开发过程中如此关键?...引言 在代码的海洋中,注释就如同指南针,帮助我们明确方向。但为何仍有那么多程序员选择不写注释?让我们一探究竟。 正文 1....但事实上,随着项目的增长和复杂度的提升,不写注释的决策让后来者花费了更多的时间去理解。 1.1 注释与团队合作 首先,我需要明确一点:代码不仅仅是为了机器,更是为了人类。...根据一个开发者调查,40%的程序员不写注释的原因是他们认为他们的代码是“自解释的”。

    8210

    esquisse包—不写代码生成ggplot图

    简介 最近学习可视化时发现了一个好用的包,可以直接使用“拖拽”的方式生成绘图,不需要写任何代码!这个包是esquisse,具体介绍可以见对应的github[1]。...输入以下代码 esquisse::esquisser() #helps in launching the add-in ? 代码打开界面 2....改变输入数据的范围 Export&code 这可以显示操作后图对应的ggplot的代码!(非常管用!)你可以按( Insert code in script )将自动导入你的代码中。 ?...代码、图片导出 当然可以导出pptx或者png格式,操作如下所示: ?...可以直接导出你做图的代码,根据代码反过来学习对应语法,从实践中学习也是不错的选择。 小编最近在准备毕业的开题答辩,书籍翻译和论文撰写,所以更新的比较慢。

    90930

    node.js要不要加分号

    一开始,关于在node.js句末不加分号,我是拒绝的。因为有时不加分号会报错。 我觉得node.js在语法层面挺拧巴的,要么就像PHP那样严格要求加分号,要么就像python一律不加分号。...加不加分号,这是一个问题 直到有一天我了解了加不加分号的场景,才终于释然 一言以蔽之:当代码是以 ( [ ` 这些符号开头时,就需要在代码之前加上分号,其他场景都不需要加分号 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('我是一个匿名函数...') }()) 同理,以 [ 或 ` 开头的代码应该这么写: ;['章北海', '罗辑'].forEach(function (item) { console.log(item) }) ;`

    2K20

    不写代码能做游戏?使用Unity Bolt插件

    这个蓝图功能可以让你不写代码做游戏。 那么 Unreal 是怎么实现无代码做游戏的呢?...使用 Bolt 插件,可以让艺术家、设计师和程序员无需编写任何代码即可创建游戏机制和互交系统。...直接看玩家移动的蓝图: 通过上面的图,可以看到代码的运行逻辑,首先从 Update 事件开始,我们设置了 moveMent 变量的值,而这个值是通过键盘事件 input Get Axis 的x方向值...Bolt初体验 对于我来说,刚开发使用Bolt感觉很繁琐,一行代码可以搞定的事情,要拖拽好几个框框来解决,但是我相信,存在即合理,对于不会代码的朋友来说,使用Bolt绝对是不错的选择。...Unity Bolt 是一个可视化脚本的包,它可以让你不写代码做游戏。 Unreal蓝图和Unity Bolt具有同样的功能。

    1.4K40

    这个程序员节,我们不写代码

    其中,华为云 EI 开发者生态经理林旅强作了主题为「华为云 ModelArts,零代码玩转 AI 开发」的演讲;华为云 IoT 生态解决方案高级工程师刘明星作了主题为「AIoT 智能设备开发:华为云 IoT...基于 ModelArts,零代码玩转 AI 开发 华为云 EI 开发者生态经理林旅强。 在你的印象中,发布一个 AI 解决方案需要几步?...用户只需要配置训练数据源,就可以零代码训练、发布模型。此外,在训练过程中,任务是容器化的,可以相互隔离;异构资源可以虚拟化、池化,方便统一管理、调度。...在万物互联的时代,AIoT 拥有广泛的应用场景,但也面临着一些挑战,包括数据孤岛无法互通、标准架构不统一、行业链条长协调难度大、安全可信低等。...在各行各业各个领域,如智慧城市、园区、车联网、物流、公共事业、工业等,数据种类多,数据模型不统一,缺乏标准规范。行业链条长,涉及芯片、操作系统、模组、设备、边缘、网络云服务、应用等。

    42220

    【js】如何正确的写代码注释?

    */ function formTime(time,isyear){ } 简单的变量声明之类的内容可以进行简单注释,但是函数就不能这样做了,要知道注释的作用是一种为了让代码更易读...formTime(time,isyear){ } 是不是比之前的注释多了很多,内容详细了很多,当然,不只是单单的内容多了,如果只是内容多了那么/* */段落注释同样也可以写,...普通注释 文档注释 这种提示就像嵌代码在里面一样,而不是浮于表面了,在我们书写npm包的时候,用户使用我们的包,就能看到这种提示,对使用者特别友好。...npm install jsdoc -g 基本使用 jsdoc 文件名 其他的使用方式可以去官网查看 jsdoc 33.js 执行完此命令,会生成一个out文件夹,查看里面的index页面即可,右边侧边栏会显示函数的使用

    20920

    AI是怎么帮我写代码,写SQL的?(本文不卖课)

    【1】AI可以写通用代码 例如,帮忙写一个“半连接攻击”的代码: AI瞬间就给了结果: 不仅如此,它还进行了详细的说明: 有意思的是,AI弹出了“违反政策”的提示。...个人的判断是,目前用AI写业务代码还不太现实,但写一些通用的代码,是完全没有问题的。 工程师们不要焦虑,业务研发不会这么快被取代。...【4】AI可以帮忙改写代码 例如,要求AI把上面优化后的素数代码,由Python改写为Java: AI瞬间完成了改写: 同时也添加了说明: 可以看到,AI已经体现出了一定代码理解能力,并没有告诉它代码的含义...【5】AI可以帮忙写SQL语句 例如,让AI帮忙写建库,建表,插入的SQL语句: AI瞬间进行了输出: 并且还进行了SQL执行后的响应: 画外音:AI很入戏,它真的在扮演MySQL。...总结,根据个人的一些体验,AI至少能在这些场景帮助到程序员: (1)撰写通用代码; (2)协助寻找BUG; (3)协助优化算法性能; (4)协助改写代码语言; 画外音:这个能力很强,今后我们找到想要的代码

    71420

    测试用例,写不写?

    有的观点认为,现在是敏捷研发,测试都来不及,写什么测试用例。 折中的观点认为测试用例可以写,但是不需要写的那么详细,用导图写个大概就可以了。 你认可哪种观点呢?...常见例如等价类、边界类及错误推测法等等,在这里不展来说啦,网上有太多的资料。文章底部还会推荐一篇关于测试用例设计的“兵器谱”。...如果团队成员的能力较强时,我们只需要罗列出测试点即可,依托于个人的测试经验,来节约编写测试用例的时间成本,但不可以不写用例,它能在你疏忽的时候提醒到你还有哪些测试需要执行。...用例“前置条件”不一定能轻易实现 我们在写用例时,一般都会写前置条件,在用例中写起来可能只是一句话,但这些前置条件其实并不是那么容易构建出来的,比如一些支付场景、审批流、第三方回传数据,甚至于异常场景等等

    46120

    测试用例,写不写?

    有的观点认为,现在是敏捷研发,测试都来不及,写什么测试用例。 折中的观点认为测试用例可以写,但是不需要写的那么详细,用导图写个大概就可以了。 你认可哪种观点呢?...常见例如等价类、边界类及错误推测法等等,在这里不展来说啦,网上有太多的资料。文章底部还会推荐一篇关于测试用例设计的“兵器谱”。...如果团队成员的能力较强时,我们只需要罗列出测试点即可,依托于个人的测试经验,来节约编写测试用例的时间成本,但不可以不写用例,它能在你疏忽的时候提醒到你还有哪些测试需要执行。...用例“前置条件”不一定能轻易实现 我们在写用例时,一般都会写前置条件,在用例中写起来可能只是一句话,但这些前置条件其实并不是那么容易构建出来的,比如一些支付场景、审批流、第三方回传数据,甚至于异常场景等等

    40210
    领券