ES5:是公认的兼容性最好的版本
严格模式
代码更加规范,可以避免一些错误,执行效率更高
语法:
"use strict";
使用方法:在全局的最上面添加'use strict',可以约束所有代码
在局部的最上面添加'use strict',只能约束局部的代码
约束限制
不允许省略var定义变量
不允许函数参数同名
不允许普通函数中的this代表window
this关键字:
1 全局中的this代表window
2 普通函数中的this代表window
3 自调用函找中的this代表window
4 事件函数中的this指触发事件的事件源
5 对象方法中的this指当前对象
数组新增的方法
indexOf:在数组中查找某个元素第一次出现的下标
语法(i数组.indexOf(元素))
在数组中查找某个元素第一次出现的下标,找到返回下标,找不到返回-1。也可以利用indexOf判断某个元素是否在数组中
forEach:用于遍历数组的
语法:数组.forEach(function(value, index, array){})
value是每次遍历出来的元素
index是每个元素对应的下标
array是当前正在遍历的数组
index和array是可选参数,在遍历的时候,这两个参数可加可不加
这个遍历方法,跟使用for循环遍历效果是一样的,方法内部就封装了for循环,所以这个方法是没有返回值 - undefined
如果要在遍历到某个值的时候,停止遍历,只能使用for循环
map:遍历数组,将每个元素都经过函数处理,处理成新的元素,将所有新的元素组成一个新的数组返回
语法:数组.map(function(跟forEach的参数是一样的) { return newValue }) 返回所有新元素组成的新数组例如:
var ar = [1, 2, 3, 4, 5, 6, 7, 8, 9]
var br=ar.map(function (a) {
var newValue=a+a*0.3
return newValue
})
filter:过滤数组 :遍历数组,将数组中满足指定条件的元素,组成新的数组并返回
语法:数组.fitler(function(跟forEach的参数是一样的) {return 条件 }) 返回值:返回满足条件的所有元素组成的数组例如:
var ar = [1, 2, 3, 4, 5, 6, 7, 8, 9]
var br= ar.filter(function(x){
return x>5
})