《JS权威指南学习总结--第二章词法结构》
第二章词法结构
内容要点:
一.注释
1. //表示单行注释
2. /*这里是一段注释*/
3.一般编辑器里加注释是:选中要加注释的语句,按 ctrl+/
二.直接量
所谓直接量,就是程序中直接使用的数据量,比如:
数字、小数、字符串文本、布尔值、正则表达式直接量
三.标识符和保留字
标识符作用:标识符就是一个名字,在JS中,标识符用来对变量和函数进行命名,或者用做JS代码中某些循环语句中的跳转位置的标记。
标识符命名规则:
1.必须以字母、下划线(_)或美元符($)开始。
2.后续的字符可以是字母、数字、下划线或美元符(数字是不允许作为首字符出现的,以便JS可以轻便区分开标识符和数字)。
3.出于可移植性和易于书写的考虑,通常只使用ASCII字母和数字来书写标识符。然而需要注意的是,JS允许标识符中出现Unicode字符全集中的字母和数字。由此,程序员也可以使用非英语语言或数学符号来书写标识符。
4.和其他语言一样,JS保留了一些标识符来为自己所用,这些“保留字”不能用做普通的标识符。
保留字:
以下就是ECMAScript的全部关键字(带*号上标的是第5 版新增的关键字):

以下是ECMA-262 第3 版定义的全部保留字:

第5 版把在非严格模式下运行时的保留字缩减为下列这些:

在严格模式下,第5 版还对以下保留字施加了限制:

注意, let 和yield 是第5 版新增的保留字;其他保留字都是第3 版定义的。为了最大程度地保证兼容性,建议大家将第3 版定义的保留字外加let 和yield 作为编程时的参考。
在实现ECMAScript 3 的JS 引擎中使用关键字作标识符,会导致"Identifier Expected" 错误。而使用保留字作标识符可能会也可能不会导致相同的错误,具体取决于特定的引擎。
第5 版对使用关键字和保留字的规则进行了少许修改。关键字和保留字虽然仍然不能作为标识符使用,但现在可以用作对象的属性名。一般来说,最好都不要使用关键字和保留字作为标识符和属性名,以便与将来的 ECMAScript 版本兼容。
严格模式下,同样对argument、eval标识符的使用做了严格限制,它们并不完全是保留字,但不能用做变量名、函数名或参数名。
js的具体实现可能定义独有的全局变量和函数,每一种特定的JS运行环境(客户端、服务器端等)都有自己的一个全局属性列表,这一点是需要牢记的
四.可选的分号
和其他许多编程语言一样,JS使用分号(; 英文)将语句分隔开。这对增强代码的可读性和整洁性是非常重要的。
缺少分隔符:一条语句的结束就成了下一条语句的开始。
在JS中,如果语句各种独占一行,通常可以省略语句之间的分号(程序结尾或右花括号"}"之前的分号也可以省略)。
关于JS中可选分号的问题有几个细节需要注意:
1.两条语句用两行书写,第一个分号可以省略掉的:
a=3;
b=4;
如果按照一行 a=3;b=4; 格式书写,第一个分号不能省略掉。
2.JS并不是在所有的换行处都填补分号:只有在缺少了分号就无法正确解析代码的时候,JS才会填补分号。
换句话说:如果当前语句和随后的语句的非空格字符不能当成一个整体来解析的话,JS就在当前语句行结束处填补分号。
var a
a
=
3
console.log(a)
JS将其解析为:
var a;a=3;console.log(a);
3.两种特殊的情况:
(1)在涉及到return、break和continue语句的场景中。如果这三个关键字后紧跟着换行,JS则会在换行处填补分号。
return
true
JS会解析成
return;true;
(2)在涉及到"++"和"--"运算符的时候,这些运算符可以作为表达式的前缀,也可以当作表达式的后缀。如果将其用作后缀表达式,它应该和表达式在同一行,否则,行尾将填补分号,同时"++","--"
将会作为下一行代码的前缀操作符并与之一起解析,
x
++
y
JS将解析成
x;++y;
《JS权威指南学习总结--第二章词法结构》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- Mybatis的传参
最近重新温习了遍Mybatis ,觉得还是汇总一下比较好,方便自己以后的快速开发 最终要的一点事,自己写的话,记忆更加深刻: 首先自己先写了个静态块,防止代码冗余: private static Sq ...
- java命名
Package 的命名 Package 的名字应该都是由一个小写单词组成. Class 的命名 Class 的名字必须由大写字母开头而其他字母都小写的单词组成 Class 变量的命名 变量的名字必须用 ...
- 使用filter方法过滤集合元素
文章转自https://my.oschina.net/nenusoul/blog/658238 Problem 你想要筛选出集合中的一些元素形成一个新的集合,这些元素都是满足你的筛选条件的. Solu ...
- css3 div垂直居中
css3: #dd{ height: 300px; background: #0000cc; display: -webkit-box; display: flex; display: -webkit ...
- 【第七篇】Volley之处理Gzip数据
一般对于API请求需带上GZip压缩,因为API返回数据大都是Json串之类字符串,GZip压缩后内容大小大幅降低. public class GZipRequest extends StringRe ...
- Intellij Idea web项目的部署配置[转]
原文地址:http://blog.csdn.net/z69183787/article/details/41416189 1.前言 2.项目配置(Project Structure) 2.1 Proj ...
- POJ 1042 Gone Fishing#贪心
(- ̄▽ ̄)-* #include<iostream> #include<cstdio> #include<cstring> using namespace std ...
- Chapter 16_3 多重继承
在Lua中进行面向对象编程时有几种方法,上一小结介绍了一种使用__index元方法的做法. 下面要介绍另一种方法,可以在Lua中实现多继承. 关键一点,在于用函数作为__index元字段. 多重继承意 ...
- NOIP2014-普及组复赛-第一题-珠心算测验
题目描述 Description 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术.珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及. 某学校的珠心算老师 ...
- 五笔拼音反查精灵 v6.69 绿色版
软件名称:五笔拼音反查精灵 v6.69 绿色版软件语言: 简体中文授权方式: 免费软件应用平台: Win7 / Vista / Win2003 / WinXP / Win2008 软件大小: 197K ...