se5常用方法总结

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格式的字符串转换为对象,字符串中的键必须用双引号包起来,如果不包起来就会报错,不能加方法,因为方法也是在一个字符串中包含着

清空数组的方法

  1. length
var arr = [1,2,3];
console.log(arr);
arr.length = 0;
console.log(arr);

2.splice
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目

 var arr = [1,2,3];
console.log(arr);
arr.splice(0);
console.log(arr);

3.[]

var arr = [1 ,2 ,3];

console.log(arr);

arr = []; 
console.log(arr);

字符串

方法及属性

length

内置属性 length 来计算字符串的长度:

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;
 方法                 	描述                                      
  charAt()           	返回指定索引位置的字符                             
  charCodeAt()       	返回指定索引位置字符的 Unicode 值                   
  concat()           	连接两个或多个字符串,返回连接后的字符串                    
  fromCharCode()     	将 Unicode 转换为字符串                        
  indexOf()          	返回字符串中检索指定字符第一次出现的位置                    
  lastIndexOf()      	返回字符串中检索指定字符最后一次出现的位置                   
  localeCompare()    	用本地特定的顺序来比较两个字符串                        
  match()            	找到一个或多个正则表达式的匹配                         
  replace()          	替换与正则表达式匹配的子串                           
  search()           	检索与正则表达式相匹配的值                           
  slice()            	提取字符串的片断,并在新的字符串中返回被提取的部分               
  split()            	把字符串分割为子字符串数组                           
  substr()           	从起始索引号提取字符串中指定数目的字符                     
  substring()        	提取字符串中两个指定的索引号之间的字符                     
  toLocaleLowerCase()	根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
  toLocaleUpperCase()	根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
  toLowerCase()      	把字符串转换为小写                               
  toString()         	返回字符串对象值                                
  toUpperCase()      	把字符串转换为大写                               
  trim()             	移除字符串首尾空白                               
  valueOf()          	返回某个字符串对象的原始值           

字符方法charAt()和charCodeAt()

var str='Hello World';//创建字符串
//1:测试charAt()方法
console.log(str.charAt(1));//返回e
 //2:测试charCodeAt()方法
console.log(str.charCodeAt(1));//返回101(ASCII编码)
console.log(str[1]);//返回e           

字符串操作方法concat()、slice()、substr()、substring()

 //1:测试concat()方法
var str1='Hello ';
var result=str1.concat('World');
console.log(str1);    //Hello
console.log(result);//Hello World
            
//2:测试slice(startIndex,[lastIndex])方法
//参数:开始下标,结束下标(可选)
var stringValue='hello world';
console.log(stringValue.slice(3));//lo world
console.log(stringValue.slice(3,7));//lo w
            
//3:测试substr(startIndex,[lastIndex])方法
//参数:开始下标,结束下标(可选)
console.log(stringValue.substr(3));//lo world
console.log(stringValue.substr(3,7));// lo worl
//4:测试substring(startIndex,[lastIndex])方法
//参数:开始下标,结束下标(可选)
console.log(stringValue.substring(3));//lo world
console.log(stringValue.substring(3,7));//lo w
            
var item='hello world';
console.log(item.slice(-3));//rld
console.log(item.substr(-3));//rld
console.log(item.substring(-3));//hello world
console.log(item.slice(3,-4));//lo w
console.log(item.substr(3,-4));//''空字符串
console.log(item.substring(3,-4));//hel 

这三个方法都返回被操作字符串的一个字符串,而且也接受一个或两个参数,当接受两个参数时,不包含结束下标,第一个参数指定字符串的起始位置,第二个参数(在指定的情况下)表示子字符串到哪里结束,具体来说,slice()和substring()的第二个参数指定的是字符串最后一个字符后面的位置,而substr()的第二个参数指定的则是返回的字符个数。如果没有给这些方法指定第二个参数,则将字符串的末尾作为结束位置。

在传递这些方法的参数是负值的情况下,它们的行为就不尽相同了,其中slice()方法会将传入的负值与字符串长度相加,substr()方法将负的第一个参数加上字符串的长度,而将负的第二个参数转换为0。最后,substring()方法会将所有负值参数转换为0。

字符串位置方法indexOf()和lastIndexOf()

var stringValue='hello world';
//1:测试inexOf()方法
console.log(stringValue.indexOf('o'));//4
console.log(stringValue.indexOf('o',6));//7
//2:测试lastIndexOf()方法
console.log(stringValue.lastIndexOf('o'));//7
console.log(stringValue.lastIndexOf('o',6));//4
            
var item='Lorem ipsum dolor sit amet, consectetur adipisicing elit';
var positions=new Array();
var pos=item.indexOf('e');
while(pos>1){
    positions.push(pos);
    pos=item.indexOf('e',pos+1);
}
console.log(positions);//3,24,32,35,52;

trim()方法

var str='         hello world        ';
var trimStr=str.trim();
console.log(str);//         hello world      
console.log(trimStr);//hello world

字符串大小写转换方法toLowerCase()和toUpperCase()

var str='Hello World';
console.log(str.toLowerCase());    //hello world
console.log(str.toUpperCase());//HELLO WORLD
console.log(str.toLocaleLowerCase());//hello world
console.log(str.toLocaleUpperCase());//HELLO WORLD

字符串的模式匹配方法split()、match()、replace()、search()

//1:测试match()方法
var text1='cat, bat, sat, fat';
var pattern=/.at/;
var matches=text1.match(pattern);
console.log(matches.index);//0
console.log(matches[0]);//cat
console.log(pattern.lastIndex);//0
            
//2:测试search()方法
var text2='cat bat, sat, fat';
var pos=text2.search(/at/);
console.log(pos);//1
            
//3:测试replace()方法
var text3='cat, bat, sat, fat';
var result=text3.replace('at','ond');
console.log(result);//cond,bat,sat,fat
result =text3.replace(/at/g,'ond');
console.log(result);//cond,bond,sond,fond
            
//4:测试split()方法
var text4='red,blue,green,yellow';
var colors1=text4.split(',');
var colors2=text4.split(',',2);
console.log(colors1);//['red','blue','green','yellow'];
console.log(colors2);//['red','blue'];

match()方法本质上与调用RegExp的exec()方法相同,match()方法只接受一个参数,要么是一个正则表达式,要么是一个RegExp对象。

search()方法与match()方法的参数相同,有字符串或RegExp对象指定的一个正则表达式,search()方法返回字符串中第一个匹配项的索引,如果没有找到匹配项,则返回-1,而且,search()方法始终从字符串开头向后匹配查找模式。

replace()方法接收两个参数,第一个参数可以是一个RegExp对象或者一个字符串(这个字符串不会被转换成正则表达式),第二个参数可以可以是一个字符串或者一个函数。如果第一个参数是字符串,那么只会替换第一个子字符串。要想替换所有子字符串,唯一的方法就是提供一个正则表达式,而且要指定全局(g)标志。

split()方法可以基于指定的分隔符将一个字符串分割成多少个字符串,并将结果放在数组中。分隔符可以是字符串,也可以是一个RegExp对象(这个方法不会将字符串看成正则表达式)。split()方法可以接受可选的第二个参数,用于指定数组的大小,以确保返回的数组不会超过既定大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值