第二章 语法
铁路图
- 这一章介绍js的精华部分的语法,并简单地概述js的语言结构。作者使用铁路图来表示js的语法。铁路图,又叫语法图,是一种表示形式语法的方式,是巴科斯范式和扩展巴克斯范式的图形化表示。铁路图的规则如下:
- 从左边界开始,沿着轨道到右边界。
- 沿途,在圆框中遇到的是字面量,在方块中遇到的是规则或描述。
- 任何能沿着轨道走通的序列都是合法的。
- 任何不能沿着轨道走通的序列都是不合法的。
- 末端只有一个竖条的铁路图,表示允许在任意以对符号中间插入空白。而在末端有两个竖条的铁路图则不允许。
- 注:对于分叉的轨道,若分叉的轨道弯向当前轨道前进方向则为入口,反之为出口
数字
- NaN是一个数值,它表示不能产生正常结果的运算结果。NaN不等于任何值,包括它自己。可以用函数isNaN(number)检测NaN。
表达式
- 运算符的优先级
. [] () | 提取属性与调用函数 |
---|---|
delete new typeOf + - ! | 一元运算符 |
* / % | 乘法、 除法、 求余 |
+ - | 加法/连接、减法 |
>= <= > < | 不等式运算符 |
=== !== | 等式运算符 |
&& | 逻辑与 |
?: | 三元 |
- 对于Js而言,typeOf运算符产生的值有'number', 'string', 'boolean', 'undifined', 'function', 'object', 'symbol'。 如果运算数是一个数组或者null,那么结果是'object',这其实是不对的。
- 注: 其实es6中增加了symbol类型,详见:symbol