ES5-----方法

ES5就是ECMAScript

ES5新增属性

  1、严格模式:除了正常的运行模式,ES5规范了一种新的模式,有效的防止了有些不合理的语法

       语法:'use strict',必须写在代码的最前面

      设立目的:

         1、消除js语法的一些不合理、不严谨之处,减少一些怪异行为

         2、消除代码的一些怪异之处,保证代码的运行安全

         3、提高编译器效率,增加运行速度

         4、为未来新版本的js做好铺垫

严格模式体现了js更合理、更安全、更严谨的发展方向,包括IE10在内的主流浏览器,IE8以前的浏览器将'use strict'当成一个字符串转译,不会报错

        注意的点:

          1、'use strict'必须写在代码块的第一行,最多只能存在注释,否则没用

          2、全局环境下使用严格模式,对整个脚本都起作用

          3、针对某个函数使用,在函数体内写'use strict'这个严格模式就是针对整个函数

ES5新增的属性和方法(IE6/7/8不支持)

全局变量会自动变成window对象身上的属性

1、bind方法

      函数身上的方法,返回值是一个人this变量值发生变化的函数,返回一个新的函数

      this是函数内部默认的一个内置变量(严格模式下,this指向是undefined)

     1、  在全局环境中使用this的指向(值)是window

     2、在函数内部,this指向的 还是window

     3、在对象的方法内部,this指向的是方法的拥有者

2、forEach()方法

语法:arr.forEach(function(v,k,arr){},context);//v : value ; k : key;

context:改变函数的this的指向,如果不改变,默认指向window

3、map()方法 :映射

语法:arr.map(function(v,k,arr){},context);//v : value ; k : key;

遍历数组,将信数组执行以后存储起来,并返回一个新数组

4、filter()方法:过滤

语法:arr.filter(function(v,k,arr){},context);//v : value ; k : key;

返回一个布尔值,如果返回值是true就存储起来,如果是false,就过滤,最后返回一个过滤后的新数组

5、some()方法:起到或的作用(||)

语法:arr.some(function(v,k,arr){},context);//v : value ; k : key;

判定一个数组是否符合某个条件,如果有一项符合返回true,如果一项都不符合,返回false;

6、every()方法:起到与的作用(&&)

语法:arr.every(function(v,k,arr){},context);//v : value ; k : key;

判定一个数组是否符合某个条件,如果有一下该不符合就返回false,如果都符合返回true

7、indexOf()方法:在数组中查找某个元素

语法:indexOf(查找的元素,‘开始位置’)

返回值:从左往右查找,如果找到返回这个元素的下标,如果找不到,返回-1,严格去查找,字符串和数字明确分辨,第二个参数也支持负数,从右向左查找

8、lastIndexOf()方法:在数组中查找某个元素

语法:lastIndexOf(查找的元素,‘开始位置’)

返回值:从右往左查找,如果找到返回这个元素的下标,如果找不到,返回-1,严格去查找,字符串和数字明确分辨,第二个参数也支持负数,从左往右查找

9、reduce()方法:归并

语法:arr.reduce(function(previous, current, index, arr){} ,initialValue);

遍历数组从左往右

function:回调函数

previous:上一次计算的结果,先前值

current:当前值

index:当前值的下标(不打印第一个arr[0]的下标,arr[0]充当了previous)

arr:数组

initialValue:初始化的了一个先前值

10、reduceRight()方法:归并

语法:arr.reduceRight(function(previous, current, index, arr){} ,initialValue);

遍历数组的方法从右往左,其余和reduce方法一样

11、Array.isArray()方法:判断某个变量是否为数组

12、字符串新增的方法:

       trim():忽略字符串左右两侧的空格,只去除左右两端的空格

13、ES中新增的JSON对象的方法

        JSON:一种轻量级的数字交换机制,就是一个对象

       JSON.stringify():将一个对象格式化成JSON字符串,不会格式化方法,只会把方法去掉

       JSON.parse():将一个JSON格式的字符串转换为对象,字符串中的键必须用双引号包起来,如果不包起来就会报错,不能加方法,因为方法也是在一个字符串中包含着



你可能感兴趣的:(ES5)