第三章
-
语法
(1)区分大小写
(2)标识符:首字符必须为字母,_,或美元符号;
(3)注释:/* … */;
(4)语句:句末“;”不要省略; -
关键字和保留字:不要用关键字和保留字做标识符和属性名;
-
变量:var + 变量名;省略var时,将创建全局变量;
function test(){
var massage = "hi";//局部变量
}
test();
alert(massage); //错误
function test(){
massage = "hi"; //全局变量
}
test();
alert(massage); //hi
- 数据类型
(1)typeof操作符
(2)undefined类型:使用var声明变量但未对其初始化时,该变量的值即为undefined;
(3)Null类型:使用typeof操作符检测null值时返回“object”;如果定义的变量将来用于保存对象,最好初始化位null;
(4)Boolean类型:var found = ture;var lost = false;
注意区分大小写;
(5)Number类型:
var intNum = 55; //整数
var octalNum = 070; //八进制数
var hexNum = OxA; //十六进制数
alert(NaN == NaN); //false
(6)String类型:用单引号和双引号完全相同;任何字符串长度都可通过访问length属性取得;
(7)Object类型:
-
操作符
(1)一元操作符
(2)位操作符
(3)布尔操作符
(4)乘性操作符
(5)加性操作符
(6)关系操作符
(7)相等操作符
(8)条件操作符
(9)赋值操作符
(10)逗号操作符 -
语句
(1)if语句
(2)do-while语句
(3)while语句
(4)for语句
(5)for-in语句:可用来枚举对象;for(var propName in window){document.write(propName);}
(6)label语句:在代码中添加标签;
(7)break和continue语句:将代码的作用域设置到特定对象中;
(8)with语句
(9)switch语句 -
函数
(1)理解参数
(2)没有重载
第四章
-
基本类型和引用类型的值
(1)动态的属性
(2)复制变量值
(3)传递参数
(4)检测类型:
-
执行环境及作用域
标识符解析是沿着作用域链一级一级的搜索的过程,搜索过程始终从作用域链前端开始,直到找到标识符为止;
(1)延长作用域链:try-catch语句的catch块和with语句;这两个语句都会在作用域链的前端添加一个变量对象。
(2)没有块级作用域
if(true){
var color = "blue";
}
alert(color); //"blue"
在c、c++中,color会在if语句值型完毕后被销毁,而在JavaScript中,if语句中的变量声明会将变量添加到当前的执行环境(全局环境)中。
- 垃圾收集
(1)标记清除
(2)引用计数:跟踪记录每个值被引用的次数;
(3)性能问题
(4)管理内存:为执行中的代码只保存必要的数据,一旦数据不再有用,通过将其设置为null来释放其引用(接触引用);