第一部分 JavaScript语言核心(一)
第二章 词法结构
P25 JavaScript是区分大小写的语言;但HTML不区分大小写(XHTML区分大小写,但浏览器具有强大的纠错能力。)
第三章 类型、变量和值
-
P32 var(variable)变量
-
P32 对象“命名值”的无序集合;数组是特殊对象——带编号的值的有序集合。
-
P37 NaN和任何值都不相等,包括它本身。应当使用x!=x来判断x是否为NaN,当且仅当x为NaN时,表达式才为true。
-
P37 -0 === +0 //true;1/-0 === 1/+0 //false;
-
P47
- 不可变的原始值:数字和布尔值显然,字符串方法返回的是新的字符串值,原字符串不会被修改;
- 可变的引用对象:相同的对象或者数组永不相等,我们通常将对象称为引用类型(reference type),以此和js基本类型区分开,对象的比较均是引用的比较,当且仅当它们引用同一个基对象时,它们才相等;
- 因此:对象和数组赋值仅为赋引用值,若需拷贝需要深拷贝;若需比较需要循环遍历比较。
-
P49 类型转换
-
P50
- nullundefined;"0"0;0false;"0"false;//都为true,后三个在比较前等式两边都转换成数字。
- undefinedfalse;//false,运算符并不试图将其操作数转换为布尔值。
-
P52 3.8.3 对象转换为原始值 两个方法:toString()和valueOf()
- JS对象到字符串转换步骤
- JS对象到数字转换步骤
-
P57 声明提前:这步操作是在JavaScript引擎的“预编译”时进行的,是在代码开始运行之前。