一、是什么:
包含三个部分:
- ECMAScript
- DOM
- BOM
几点小知识:
- 关于弹出框
Window.alert()
Document.write()
Console.info() - script标签的defer属性(值也是defer) 相当于window.onload后执行
二、变量
- 全局变量:
- 局部变量
- 没有块级变量
三、数据类型
基本类型:Number、String、Boolean、Undefined、Null
- Number:整数和小数(最高精度17位小数)、NaN、Infinity、Infinity
- Undefined:声明但未赋值
- Null:空的对象引用(赋值为null)
引用数据类型:Object类型(对象、数组、RegExp、Date….)
Typeof操作符:用来判断数据类型
注意:null返回的是object,它表示的是一个空的对象引用。
注意:parseInt()方法
传入字符串:返回NaN
字符串亿以数字开始,返回前面的数字
四、运算符
这个没有什么好强调的,需要注意的是js的数据转换机制,所以在进行 ==比较是需要注意:
- ==仅比较数值
- ===先比较数值、然后还要比较数据类型。
var a = 1;
var b = true;
if(a==b){
alert("相等");
}
if(a===b){ //先比较值 然后还要比较数据类型
alert("相等");
}else{
alert("不相等"); //这个弹出
}
五、控制语句
简单说一点小用法:
for(;;) 的效果等同于 while(true)
六、引用类型
数组:一组数据的集合(类似于java 的容器,长度可变)
可以通过lenght属性重新设置其长度。
ECMAScript5数组新特征:
- 位置方法:indexOf 、lastIndexOf
- 迭代方法:every、filter、forEach、some、map
- 缩小方法:reduce、reduceRight
Object:所有类的基础类
创建方法:new Object() 、{}
delete:删除对象的属性或者方法。
如何遍历对象:
for in语句。
Object每一个实例都会有以下属性和方法:
® Constructor:保存着对于创建当前对象的函数。(构造函数)
® hasOwnProperty(propertyName):用于检测给定的属性的当前对象实例中(不是原型中)是否存在。
® isPrototypeOf(Object):用于检测传入的对象是否是当前对象的原型。
® propertyIsEnumerable(propertyName):用于检测给定的属性是否能够使用for-in语句来枚举。
® toLocaleString():返回对象的字符串表示。
® toString():
® valueOf():
七、Object深入
- 模拟Map: