ECMA标准 ECMAScript
严格模式
【注】从字面意思理解,即这种严格模式下,浏览器会对js的要求更加的苛刻。
“use strict”;
写在哪个作用域下,这个作用域下所有的代码都遵从严格模式。
【注】不要轻易在全局范围内增加”use strict”;建议在作用域内使用。
function m1(){
max = 10;//如果在给变量赋值的时候,没有使用var声明该变量,那么当作全局变量进行才处理
}
function m1(){
"use strict";
var max = 10;
}
m1();
数组的额外方法
indexOf() 数组
【格式】数组.indexOf(元素,index)//index表示下标
【注】使用方式和字符串的方式一致
var arr = [10,20,30,40,50,30];
alert(arr.indexOf(30,3));
forEach
【格式】数组.forEach(function(item,index,array){
item 当前遍历到的元素
index 当前遍历到的下标
array 当前数组
})
【功能】遍历数组
var arr = [10,20,30];
arr.forEach(function(item,index,array){
alert(item+","index+","array);
})
arr.forEach(alert);
map 映射 遍历->操作->返回
var arr = [10,20,30,40];
var nerArr = arr.map(function(item,index,array){
return item+2;
})
alert(newArr);//12,22,32,42
reduce 归并
var arr = [10,20,30,40];
var res = arr.reducde(function(pre,next,index,array){
pre 上一次遍历return后面的值
next 当前遍历到的元素
alert(pre + "," + next);
return pre + next;
})
alert(res);
fitter 过滤
var res = [10,20,30,40,50].fitter(function(item,index,array){
return item >30;
})
alert (res);
some() 某些
判断return后面的条件是否成立,如成立返回true,如不成立返回false
【注】如果匹配成功,则返回true,后面不再进行匹配
var arr = [10,20,30,40,50];
var res = arr.some(function(item,index,array){
alert(item);
return item == 30;//判断数组中是否存在30
//判断return后面的表达式,在当前数组是否成立。如果成立true,否则false
})
alert(res);
every
和some一样,但是要求每一项都符合,才返回true,有一项不符合就返回false
var arr = [10,20,30,40];
var res = arr.every(function(item,index,array){
alert(item);
return item > 20;
})
alert(res);//false