1,变量声明:最好一开始全部把要用的变量声明完.
2,流程控制补充:其他的和CShape相同 for in循环遍历的是index而不是值.
3,常用的函数: isNAN() 和 InFinite(数据)无穷大 isFinite(数据)是否穷尽
4,string类型:
常用方法:charAt()返回索引处的字符 substring() substr() split(char,length) 区别是substring右边的取不到
转换为数字: 做除了加法以外的数字运算,是0或者1这些 parseInt 或者parseFloat (只能识别以数字开头的字符串)
转换为bool:用Boolean或者!!取反两次(为空则为假,除了null和undefin都为真)
5,number类型:
转换为字符串:toString() String()函数 直接加""
转换为bool: 1,隐式转换:非零为真,直接与if嵌套使用.2: Boolean(数字) 3:取反两次
6,判断符的补充:
1:==和!= 只看结果是否相同(隐式转换的问题)
2:===和!== 看类型和结果是否相同
3:in 用法:成员 in 对象 (判读对象是否有成员)
4:instenceof 用法: 对象 instenceof 构造函数(判断是否是该函数的实例)
7,函数:
1:定义: function func(参数列表) {方法体 return 返回值 };
如果有局部定义域,函数会默认覆盖掉
2:匿名函数:直接上函数就像lambda表达式
3:动态函数:var func=new Function(arg1,arg2,....,argN,body);
4:arguments数组实现多个参数
8,对象:
1:创建构造函数 用new创建对象 同时用this访问属性和方法
2:可直接用对象的字面值访问 var o= {name:"";age:00};直接可以访问
3:对象的添加:创建了对象,直接使用this.属性添加
4:删除用delete +属性;
5:属性作为关联数组使用:o["属性名"]
9,数组:
1:用法,new Array(可选参数) 或者直接 var arr=[]; 如果参数为一个数字,则为多大的数组.如果不为数字,或者为多个参数,就是初始化数组.
2:注意:arr.length 可以被随意的更改
10,undefined出现的情况
1:未赋值的变量
2:没有返回值的方法 var f=function(){} var f2=f();alert(f2)
3:访问对象没有的属性 var o={} alert(o.sex);