1.闭包:能够访问函数内部局部变量的函数(子函数)
缺点:在IE浏览器造成内存泄漏,局部变量变成全局变量
2.数组迭代的方法:
1)forEach:
对数组的每一项运行指定的函数,没有返回值
forEach仅仅具有for循环遍历的功能,不会有返回值;
数组名.forEach(function(item数组的每一项,index数组的下标,array数组名 ){
函数体
}
2)map 具有for循环遍历的功能,同时会具有返回值。
如果没有return [undefined,undefined....]
有返回值return [返回值1,返回值2.....]
新数组=数组名.map(function(item数组的每一项,index数组的下标,array数组名){
return 函数体
})
3)filter:数组中符合条件的元素进行筛选,filter返回值为一个新的数组;
新数组=数组名.filter(function(item数组的每一项,index数组的下标,array数组名){
return 条件
})
4)every:
每一项都返回true才返回true
数组名.every(function(item,index,arry){
return 条件
})
5)some:
some() 只要有一项返回true就返回true
数组名.some(function(item,index,arry){
return 条件
})
方法区别
// every() 每一项都返回true才返回true
// some() 只要有一项返回true就返回true