JS中的字符串函数
最近在看前端面试题,看到很多字符串的题目,写一下扩充一下知识。
-
slice()方法
-
从字符串的第一个参数下标提取第二个参数长度-1的字符串,数组也可以使用,原字符串不变。第二个参数不填则返回原字符串。
返回一个string/obj
-
var str = 'abcde'; console.log(str.slice(1,2)); //b console.log(str.slice(1,1)); //返回空''
-
-
substring()
-
从字符串的第一个参数提取第二个参数,原字符串不变,第二个参数不填则返回原字符串。返回string
-
var str = 'abcde'; var str2 = str.substring(1,2); //b
-
看起来这两个函数这么像,那么有什么区别
- slice方法既可以在字符串里使用,也可以在数组里面使用
- substring方法只能在字符串里使用
-
-
indexof()
- 查找一个字符串在字符串中出现的位置,失败则返回-1
-
LastIndexof
-
查找一个字符串在字符串中最后出现的位置
-
'abc abc asd'.indexOf('a');//0 'abc abc asd'.lastIndexOf('a');//8 'abc abc asd'.lastIndexOf('a',7);//4 /* 1. indexOf('a', 7) 查找的是字符串前7位之后的第一个a 2. lastIndexOf('a', 7) 查找的是字符串前7位之内的最后一个a 3. 千万不要混淆把 lastIndexOf('a', 7) 理解成查找字符串倒数第7位中的a 4. 空格也是一位数 */
-
-
Replace()
-
字符串替换,第一个参数可以是子字符串或者是正则表达式(这个以后再写),第二个参数为要替换成的字符串.不改变原字符串
-
'abc abc asd'.replace('abc','ddd'); //ddd abc asd
-
-
Split()
-
字符串分割方法,用于把一个字符串分割成字符串数组。
-
第一个参数为字符串或者正则表达式(以后写),从该位置分割(*)必填
-
第二个参数为分割后的数组的最大长度
-
'abc abc asd'.split(' ', 2 ); //["abc", "abc"] 'abc abc asd'.split(' '); //["abc", "abc", "asd"]
-
如果你需要自己写一个字符串的函数,那么需要在字符串原型中添加方法
String.prototype.pri= function(){
console.log(this);
}
'aasd'.pri();
//String {"aasd"}
最后
字符串操作是js中一大特别重要的基础知识,在学习之余要经常的去使用他们,很多面试题中也会经常的出现,要重点掌握。