第二章词法结构
内容要点:
一. 字符集
javaScript程序是用Unicode字符集编写的。
二. 注释
注释方式分为以下几种:
1. //表示单行注释
2. /*这里是一段注释*/
三. 直接量
所谓直接量,就是程序中直接使用的数据值
As: number (1,2,3,4,5) , string ("hello word") ,Boolear(true,false) ,正则,null
四. 标识符和保留字
定义:标识符就是一个名字
作用:在JavaScript中,标识符用来对变量和函数进行命名,或者用做javaScipt代码中某些循环语句找那个的跳转位置的标记。
标识符命名规则:
1.必须以字母、下划线(_)或美元符($)开始。
2.后续的字符可以是字母、数字、下划线或美元符(数字是不允许作为首字符出现的,以便JS可以轻便区分开标识符和数字)。
3.可以使用非英语语言或数字符号来书写标识符。 As: var π = 3.14;
4.和其他语言一样,JS保留了一些标识符来为自己所用,这些“保留字”不能用做普通的标识符。
保留字 =>可参考犀牛书 P29 页部分
五. 可选的分号
作用:javaScript使用分号 (;) 将语句分割开,这对增强代码的可读性和整洁性是非常重要的。
注意:缺少分隔符:一条语句的结束就成了下一条语句的开始。
在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"
而代码本意是这样 "return true"
(2)在涉及到"++"和"--"运算符的时候,这些运算符可以作为表达式的前缀,也可以当作表达式的后缀。如果将其用作后缀表达 式,它应该和表达式在同一行,否则,行尾将填补分号,同时"++","--" 将会作为下一行代码的前缀操作符并与之一起解析,
这种前加后加的可能还会涉及到优先级问题需注意 (待补充!)
x
++
y
JS将解析成 "x;++y"
而代码本意是这样 "x++; y"