[学习笔记]Javascript可选的分号
1.前言
由于Javascript有自动识别一句语句的结尾,但是缺少必要分号作为结尾符,会降低代码的可读性和整洁性。通过javascript权威指南By淘宝前端团队译,这分号还算比较好玩的。
2.样例
2.1 两句语句有两行的书写
a = 3; //第一行的分号可以省略
b = 4;
2.2 两句语句一行的书写
a = 3; b = 4; //第一个分号不能省略,否则提示Uncaught SyntaxError: Unexpected identifier
2.3 容易引起误解的写法
2.3.1
var a
a
=
3
console.log(a)
等价于 var a; a = 3;console.log(a);
2.3.2
var y = x + f(a+b).toString()
等价于var y = x + f(a+b).toString(0;
2.4 通常来讲,如果一条语句以'(','[','/','+','-' 开始的,那么它可能会和前一条语句合在一起解析,后三种不常见,但是前两者比较常见,所以可以保守地在语句前面多加一个分号。
var x = 0
;[x,x+1].forEach(console.log);
2.5 方法结束加不加分号都可以,安装java,C/C++的习惯是不加。
function fun{} //};也是可以的。
2.6 如果前语句和下一行语句无法合并解析,JS则会在第一行后填补分号,这是通常规则,But有两个例外
2.6.1 第一个例外是涉及到return、break和continue语句
return
true;
会被解析成return; true; 而代码的本意是return true;
2.6.2 涉及“++”和“--”
x
++
y
等价于x; ++y; 而不是x++; y
3. 总结
尽量写规范一些,防止编译器理解错你的表达。
转载于:https://www.cnblogs.com/fanbi/p/7201508.html
[学习笔记]Javascript可选的分号相关推荐
- HTML5学习笔记 —— JavaScript基础知识
HTML5学习笔记 -- JavaScript基础知识 标签: html5javascriptweb前端 2017-05-11 21:51 883人阅读 评论(0) 收藏 举报 分类: JavaScr ...
- 学习笔记 JavaScript 动画
学习笔记 JavaScript 动画 结果 代码里用到的图片 <html><head><style>#imageDiv {height: 100px;width: ...
- 学习笔记 JavaScript 动画 加速
学习笔记 JavaScript 动画 加速 效果 代码中用到的图片 <html><head><style>#imageDiv {position: absolute ...
- 前端学习笔记——JavaScript进阶
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.JavaScript 面向对象 1. 面向对象编程介绍 1.1 两大编程思想 1.2 面向过程编程 1.3 面向对 ...
- 重学前端-学习笔记-JavaScript对象
说明 重学前端是程劭非(winter)在极客时间开的一个专栏,在此主要整理我的学习笔记.如有侵权,请联系我,谢谢. javascript对象特征 对象具有唯一标识性:完全相同的两个对象,也不是同一个对 ...
- 《JavaScript权威指南第六版》学习笔记-JavaScript概述
第一章.JavaScript概述 JavaScript是一门高端的.动态的.弱类型的编程语言,非常适合面向对象和函数式的编程风格.JavaScript的语法源自Java,它的一等函数(first-cl ...
- js学习笔记----JavaScript中DOM扩展的那些事
什么都不说,先上总结的图~ Selectors API(选择符API) querySelector()方法 接收一个css选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回null. ...
- Web前端学习笔记——JavaScript之WEBAPI、BOM、DOM及获取页面元素
Web API介绍 API的概念 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访 ...
- Web前端学习笔记——JavaScript之数组、函数、作用域
数组 为什么要学习数组 之前学习的数据类型,只能存储一个值(比如:Number/String.我们想存储班级中所有学生的姓名,此时该如何存储? 数组的概念 所谓数组,就是将多个元素(通常是同一类型)按 ...
最新文章
- asp.net mysql 创建变_[ASP.net教程]EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型...
- 怎样去掉 CSDN-Markdown 上传图片中的水印
- NFS配置全新设置常用参数说明
- ip代理服务器软件25探索云速捷_IP代理在实际使用过程中会面临的问题,如何准确挑选和使用代理IP...
- Java学习笔记——面向对象
- 软件测试——语句覆盖
- 如何用python的i2c教程_Micropython TPYBoard I2C的用法
- python软件-python 2.7官方版
- java web 学习计划
- java系统源代码_JAVA学生管理系统源代码
- 怎么恢复佳能相机SD卡CF卡误删除格式化的MOV视频
- git用户名和密码保存文件_GitHub 本地保存用户名和密码方法
- iOS:error: unable to read input file
- 惠州电子计算机职业学校,惠州市十大中专学校排名
- android实现多任务多线程支持断点下载的下载软件
- Cocos2d的ChipMunk
- 新品周刊 | LINE FRIENDS李宁推出联名系列;FILA推出全新高级运动羽绒系列
- OpenNI SDK 2.0
- Apriori 、FP-Growth 和 Eclat 3 种经典的 ARM (关联规则挖掘)算法--自用
- 联想sr650安装centos_联想SR650安装windowsserver2008R2系统