ECMA标准 ECMAScript

ECMA5 第五版
ECMA6

严格模式

【注】从字面意思理解,即这种严格模式下,浏览器会对js的要求更加的苛刻。
“use strict”;
写在哪个作用域下,这个作用域下所有的代码都遵从严格模式。
【注】不要轻易在全局范围内增加”use strict”;建议在作用域内使用。

  1. function m1(){
  2. max = 10;//如果在给变量赋值的时候,没有使用var声明该变量,那么当作全局变量进行才处理
  3. }
  4. function m1(){
  5. "use strict";
  6. var max = 10;
  7. }
  8. m1();

数组的额外方法

indexOf() 数组

【格式】数组.indexOf(元素,index)//index表示下标
【注】使用方式和字符串的方式一致

  1. var arr = [10,20,30,40,50,30];
  2. alert(arr.indexOf(30,3));

forEach

【格式】数组.forEach(function(item,index,array){
item 当前遍历到的元素
index 当前遍历到的下标
array 当前数组
})
【功能】遍历数组

  1. var arr = [10,20,30];
  2. arr.forEach(function(item,index,array){
  3. alert(item+","index+","array);
  4. })
  5. arr.forEach(alert);

map 映射 遍历->操作->返回

  1. var arr = [10,20,30,40];
  2. var nerArr = arr.map(function(item,index,array){
  3. return item+2;
  4. })
  5. alert(newArr);//12,22,32,42

reduce 归并

  1. var arr = [10,20,30,40];
  2. var res = arr.reducde(function(pre,next,index,array){
  3. pre 上一次遍历return后面的值
  4. next 当前遍历到的元素
  5. alert(pre + "," + next);
  6. return pre + next;
  7. })
  8. alert(res);

fitter 过滤

  1. var res = [10,20,30,40,50].fitter(function(item,index,array){
  2. return item >30;
  3. })
  4. alert (res);

some() 某些

判断return后面的条件是否成立,如成立返回true,如不成立返回false
【注】如果匹配成功,则返回true,后面不再进行匹配

  1. var arr = [10,20,30,40,50];
  2. var res = arr.some(function(item,index,array){
  3. alert(item);
  4. return item == 30;//判断数组中是否存在30
  5. //判断return后面的表达式,在当前数组是否成立。如果成立true,否则false
  6. })
  7. alert(res);

every

和some一样,但是要求每一项都符合,才返回true,有一项不符合就返回false

  1. var arr = [10,20,30,40];
  2. var res = arr.every(function(item,index,array){
  3. alert(item);
  4. return item > 20;
  5. })
  6. alert(res);//false