《javascript权威指南》读书笔记——第二篇
今天是今年的196天,分享今天的读书笔记。
第2章 词法结构
2.1 字符集
JavaScript程序是用Unicode字符集编写。
Unicode是ASCII和Latin-1的超集,支持几乎所有语言。
ES3 要求支持Unicode 2.1及后续版本
ES5 要求支持Unicode 3及后续版本
2.1.1 区分大小写
JavaScript是区分大小写的。
HTML 并不区分大小写(但XHTML区分大小写)
2.1.2 空格、换行符和格式控制符
JavaScript会忽略程序中标识(token)之间的空格。多数情况下,JavaScript同样会忽略换行符。
JavaScript将如下字符识别为行结束符:换行符(u000A),回车符(u000D),行分隔符(u2028),段分隔符(u2029)。
回车符和换行符在一起被解析为一个单行结束符。
2.1.3 Unicode转义序列
JavaScript 定义一个特殊序列,使用6个ASCII字符来代表任意16位Unicode内码。
这些Unicode转义序列均以u为前缀,其后跟随4个十六进制数(使用数字以及大写或小写的字母A~F表示)。这种Unicode转义写法可以用在JavaScript字符串直接量、正则表达式直接量和标识符中(关键词除外)。
"café"===“cafu00e9” //=>true
2.2注释
单行注释://
多行注释:
/*
* 多行注释
*
*/
2.3直接量
所谓直接量(literal),在程序中直接使用的数据值
12 // 数字
‘Hi’// 一个字符串
2.4标识符和保留字
标识符必须以字母、下划线( _ )或美元符($)开始。
后续的字符可以是字母、数字、下划线或美元符(数字不允许作为首字符出现,一遍JavaScript可以轻易区分开标识符和数字)。
如:
i
my_variable_name
v24
_ dumy
$str
2.5 可选的分号
js使用分号(;)将语句分割开。
缺少分隔符,一条语句的结束就成了吓一跳语句的开始,反之亦然。
在js中,如果语句各自独占一行,通常可以省略语句之间的分号(程序结尾或右花括号“}”之前的分号可以省略)。
eg:
var y=x+f
(a+b).toString();
x
++
y
解析结果:x;++y;