ES5的一些常用方法

ES5:

1.严格模式:

调用方法: "use strict" ;

作用范围:全局模式:放在脚本文件的第一行,则整个脚本文件都将以“严格模式”运行。

局部模式:将"use strict"放到函数内的第一行。

严格模式的语法要求:

① 必须用var声明变量

"use strict";

a = 10;

console.log(a);      //报错

②函数内不允许出现重名参数

"use strict";

function fn(a,b,b){

        console.log(a);

        console.log(b);

}

fn(2,3,4)  //报错

③this无法指向全局变量window

"use strict";

function fn(){

    console.log(this);

}

fn();        //undefined

④arguments对象不允许被动态改变

"use strict";

function fn(a,b){

a = 20;

console.log(a);

console.log(b);

console.log(arguments);         //2,3

}

fn(2,3)

2.ES5新增数组常见方法:

①indexOf:

语法: arr.indexOf(item,start);

返回数组中某个元素的位置,没有找到指定元素返回-1.

lastIndexOf():从后面往前找,返回某个元素的首次出现的位置。

var arr=[1,2,3,4,5,2]

console.log(arr.indexOf(2));              //1

console.log(arr.lastIndexOf(2));        //5

console.log(arr.indexOf(6));             //-1

②forEach:

语法: array.forEach(function(value,index,arr));

用于调用数组的每个元素,并将元素传递给回调函数,没有任何返回值。

回调函数内的三个参数分别为:当前循环的值(必选),当前循环的索引(可选),当前数组本身(可选)。

var arr = ["a","b",255,512,"hello"];

var a = arr.forEach(function(value,index){

console.log(value);     //a b 255 512 hello

console.log(index);      //0 1 2 3 4

})

console.log(a);           //undefined

③map:

语法: array.map(function(value,index,arr));

返回一个被操作后的新数组,不会改变原数组,一般配合return使用.

var arr=[1,2,3,4,5]

var arr2=arr.map(function(value){

        return value+5;

})

console.log(arr);       //1,2,3,4,5

console.log(arr2);     //6,7,8,9,10

④filter:

语法: array.filter(function(value,index,arr));

过滤不符合条件的元素,如果回调函数返回true则保留,返回false则过滤掉。不会改变原数组

arr3=arr2.filter(function(value){

      return value>7

})

console.log(arr2);       //6,7,8,9,10

console.log(arr3);      //8,9,10

3.字符串常见API

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数

①indexOf(date,start)

用于返回字符串中规定字符的位置,返回字符所在位置的下标,若无返回-1.

var str="helloworld";

console.log(str.indexOf("o"));      //4

②charAt(index);  返回指定位置(下标)的字符

var str="helloworld";

console.log(str.charAt("2"));     //l

③substring(n,m) 返回从指定位置,到结束位置(不含)的字符串。

console.log(str.substring(1,8))       //ellowo

④slice(n,m);  同substring

substring(n,m)和slice(n,m)的区别:

console.log(str.slice(-3)); //rld

console.log(str.substring(-3));      //helloworld

console.log(str.slice(3,-4));        //low

console.log(str.substring(3,-4));    //hel

slice将传入负值与字符串长度(string.length)相加,可以操作数组;substring会将所有负值都转换成0,不可以操作数组。

⑤split("");通过指定字符分割字符串,返回一个数组。

var str="1,2,3,4,5,6,7";

var arr=str.split(",");

console.log(arr);    //["1", "2", "3", "4", "5", "6", "7"]

⑥replace("需要替换的字符串","替换之后的字符串") ,默认只替换一次

var str="1,2,3,4,2,6,7,2";

var str2=str.replace(2,5);

console.log(str2);    //1,5,3,4,2,6,7,2

var str3=str.replace("/2/g",5);    //g为正则修饰符,表示全局匹配

console.log(str3);    //1,5,3,4,5,6,7,5

posted @ 2019-09-15 15:07  Glu__TtoNy  阅读(1098)  评论(0编辑  收藏  举报