JavaScript-ECMA5严格模式,以及JavaScript-ECMA5严格模式新增数组方法

严格模式:

除了正常运行模式,ECMAscript 5添加了第二种运行模式:“严格模式” 这种模式使得JavaScript在更严格的条件下运行。

严格模式的目的:
1.消除JavaScript语法的一些不合理,不严谨之处,减少一些怪异的行为;
2.消除代码运行的一些不安全之处,保证代码的运行安全
3.提高编译器效率,增加运行速度
4。为未来新版本的JavaScript做好铺垫
注:严格模式体现了JavaScript更安全,更合理,更严谨的发展方向,包括IE 10在内的主流浏览器,都支持它

严格模式的使用:
写在那个作用域下,在那个作用域下生效。
“use strict”
注:尽量注意不要将严格模式写在全局

用了严格模式,会有什么变量
1.全局变量声明时,必须加var
2.this 无法指向全局对象;
3.函数内重名属性 声明形参不能出现同命名的现象
3 例:

function show( num1 , num1,num2){
            "use strict";
            alert(num1+","+num2);
        }
        show(10,20,30);

如果不加"use strict"; 会输出 20,30;

4…arguments对象不允许被改变 ps:arguments只保存原本的数

function show(){
num1 ="hello";
alert(num1+" "+num2);结果为 hello 20
alert(arguments[0]+" "+arguments[1]) 结果为 hello 20
}
how(10,20);  
				加上"use strict";
function show(){
"use strict";
num1 ="hello";
alert(num1+" "+num2);结果为 hello 20
alert(arguments[0]+" "+arguments[1])结果为 10 20

5.新增保留字:implements interface let package private protected public static yield

JavaScript-ECMA5严格模式新增数组方法

1.indexOf()
格式:数组.indexOf(item,start);
参数:item 任意的数据
start 下标 可以不传 默认为0
功能:在数组中查找第一次出现item 元素下标 ,从start开始去查找
返回值;-1 没有查找到
>=0 查到的元素的下标

var arr = [10,23,51,65,23,51];
var index = arr.indexOf(51,3);
alert(index);

2.数组遍历
for循环
for… in
forEach(ECMA5新增)

var arr =[10,23,42,42,122,44];
arr.forEach(function( item,index,arr){
    /*
        item 当前遍历到的元素
        index 当前遍历到的元素下标
        arr 数组本身
 
     document.write(item +" "+ index +" "+arr+"<br/>");
     })

结果:
10 0 10,23,42,42,122,44
23 1 10,23,42,42,122,44
42 2 10,23,42,42,122,44
42 3 10,23,42,42,122,44
122 4 10,23,42,42,122,44
44 5 10,23,42,42,122,44

3.map 映射

  var arr =[10,20,30,40]
          var newArr =arr.map(function(item,index,arr){
              //遍历要做的事,映射关系,不改变原数组
              return item*1.3}) 
          alert(newArr);//新的数组是原数组每个的1.3倍

4. folter() 过滤

var arr =[10,20,30,40]
        var newArr =arr.folter(function(item,index,arr){
              //过滤条件
              return item>20}) 
          alert(newArr);//新的数组是原数组所有大于20的元素

5,some 某些 在数组中查找是否有item的元素 有则返回ture 没有则false
短路操作:只要找到复合条件的元素,后面的循环就停止了

var arr =[10,20,30,40]
var res =arr.some(function(item,index,arr){
      //过滤条件
      return item>20}) 
  alert(res);//返回ture

6. every 每一个
注:在数组中每一个元素是否都复合条件,符合返回true 没有返回false
短路操作:只要找到不符合条件的元素,后面的循环就停止了

var arr =[10,20,30,40]
            var res =arr.every(function(item,index,arr){
                  //过滤条件
                  return item<50}) 
              alert(res);//返回ture

7.reduce 归并
prev:第一次是,下标为0的元素
第二次开始 上一层遍历return的值
next:从下标1开始,当前遍历到的元素
index 当前遍历到的元素下标
arr 数组本身

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值