《JavaScript语言精粹》
JavaScript : The Good Parts
Douglas Crockford 著
赵泽欣 鄢学鹍 译
一、基本概念
1、字面量
对象字面量是一种方便指定新对象的表示法。属性名可以是标识符或字符串。这些名字被当作字面量名而不是变量名来对待,所以对象的属性名在编译时才能知道。属性值就是表达式。
2、空白
空白可能表现为格式化字符或注释的形式,通常没有意义,但偶尔用来分隔字符序列。
- 格式化字符空白:空格、tab、换行
- 注释
- 行注释:以 // 开头
- 块注释:用 /* */ 包围
3、标识符
- 标识符被用于语句、变量、参数、属性名、运算符和标记。
- 由字母、数字和下划线组成。
- 必须以字母开头
- 不能使用保留字
4、保留字
abstract
boolean break byte
case catch char class const continue
debugger default delete do double
else enum export extends
false final finally float for function
goto
if implements import in instanceof int interface
long
native new null
package private protected public
return
short static super switch synchronized
this throw throws transient true try typeof
while with
5、数字
- JavaScript只有一个单一的数字类型,在内部被表示为64位的浮点数。
- NaN是一个数值,它表示一个不能产生正常结果的运算结果。
- NaN不等于任何值,包括它自己。可以用 isNaN(number)检测NaN 。
- Infinity表示所有大于1.79769313486231570e+308的值。
- JavaScript有一个对象Math,它包含一套作用于数字的方法。
6、字符串
- 字符串是被包围在单引号或双引号中的字面量,可以包含0个或多个字符。
- 字符串有一个length属性,用于获取字符长度。
- 字符串是不可变的,一旦创建,无法改变。可以通过 + 运算符连接字符串。
- 相同的字符串:包含完全相同的字符且字符顺序也相同。
- 转义字符 \ (反斜杠)
- \” 双引号
- \’ 单引号
- \\ 反斜杠
- \ / 斜杠
- \b 空格
- \f 跳页
- \n 换行
- \r 回车
- \t tab
- \u 允许用指定数字表示的字符码位
7、编译单元
在web浏览器中,每个script标签都提供一个被编译且立即执行的编译单元。
8、特殊真假值
- 真值
- true
- “false”
- 对象
- 假值
- false
- null
- undefined
- 空字符串 “”
- 数字 0
- 数字 NaN
9、运算符优先级
. [] () 属性存取及函数调用
delete new typeof ++ - - ! 一元运算符
* / % 乘法、除法、取余
+ - 加法/连接、减法
>= <= > < 不等式运算符
=== !== 等式运算符
&& 逻辑与
|| 逻辑或
?: 三元