一、字符串的创建方式
<script type="text/javascript">
var str1 = "1234";//字面量
/*console.log(str1[0]);
console.log(str1.length);
console.log(str1[str1.length-1]);
str1[0] = "5";//不能按照数组那种方式去修改字符
console.log(str1);
for(var i = 0; i < str1.length; i++){
console.log(str1[i]);
}
*/
var str2 = new String("abc");//构造函数
</script>
二、字符串常见的方法(以下字符串方法均不影响原字符串)
1、charAt()可以返回字符串中指定位置的字符,根据索引获取指定的字符
var str = “Abcd”;
console.log(str.charAt(1));//b
charCodeAt()获取指定位置字符的字符编码(Unicode编码)
var result = str.charCodeAt(0);
console.log(result);//65
String.fromCharCode()可以根据字符编码去获取字符
var result2 = String.fromcharCodeAt(72);
console.log(result2);//H
2、indexOf(s) 返回s在字符串中索引,没有就返回-1
该方法可以检索一个字符串中是否含有指定内容,如果字符串中含有该内容,
则会返回其第一次出现的索引,如果没有找到指定的内容,则返回-1
可以指定一个第二个参数表示指定开始查找的位置:
indexOf(“1”,1)表示从索引为1的位置开始查找
var str = “abcd”;
console.log(str.indexOf(“b”),str.indexOf(“bb”));//1 -1
lastIndexOf();该方法的用法和indexOf()一样,不同的是indexOf()是从前往后找,
而lastIndexOf()是从后往前找
var str = “hello haerrr”;
result = str.lastIndexOf(“h”);
console.log(result);//6
3、substring()
可以用来截取一个字符串,与slice()一样,不同之处在于:
不能接受负值作为参数,如果传递了一个负值,则默认使用0,并且如果第二个参数小于第一个,则交换参数位置
4、slice()
可以从字符串中截取指定的内容,该方法不会改变原字符串,而是将截取到的内容返回
参数:
第一个参数:截取开始的位置的索引,包含开始索引
第二个参数:截取结束的位置的索引,不包含结束索引,该参数可以不写时,表示截取从开始索引往后的所有元素,该参数可以传递一个负值,如果传递一个负值,则从后往前计算:slice(0,-1)表示截取从开始到倒数第二个(最后一个之前),slice(0,-2)表示截取从开始到倒数第三个(倒数第二个之前)
5、substr()
用来截取字符串
参数:
第一个参数:表示开始位置的索引
第二个参数:表示截取的长度
6、split()
可以将一个字符串拆分为一个数组
参数:
需要一个字符串作为参数,将会根据该字符串去拆分数组
split(s) 将字符串按照给定的参数进行分割,转换成数组
console.log(str.split());//[“abcdefg”]
console.log(str.split(""));//[“a”,“b”,“c”,“d”,“e”,“f”,“g”]
console.log(str.split(“d”));//[“abc”,“efg”]
7、replace(oldstr,newstr);
用第二个参数替换第一个参数,返回替换之后的字符串,只能替换一次
var str = “NNGT,ni xiang gan sha”;
var s = str.replace(“NNGT”,"");
console.log(s);//,ni xiang gan sha
8、concat()拼接字符串
var str = “Abc”;
console.log(str.concat(“efg”));//Abcefg
9、trim() 去除首尾空格
var str = " abc ";
console.log(str);// abc→a前面有个空格
console.log(str.trim());//abc→a前面无空格,被去除了
10、toUpperCase()
将一个字符串转换为大写并返回
11、toLowerCase()
将一个字符串转换为小写并返回