JavaScript中String对象的方法介绍
1.字符方法
1.1charAt()方法,返回字符串中指定位置的字符。
varquestion="DoyoulikeJavaScript?"; alert(question.charAt(5));//"u"
字符串"DoyoulikeJavaScript?"的长度为23,即位置从0到22。指定位置5处的字符是"u"。
1.2charCodeAt()方法,返回字符串中指定位置的字符编码。
varquestion="DoyoulikeJavaScript?"; alert(question.charCodeAt(5));//"117"
位置5处的字符"u"的字符编码是"117"。
charAt()和charCodeAt()都是针对单个字符进行操作的方法。
2.字符串操作方法
这个小节的字符串操作方法是关于创建新字符串的方法。这些方法包括concat()、slice()、substring()、substr()。
concat()是通过拼接的方式创建新的字符串,slice()、substring()、substr()是通过提取的方式创建新的字符串。
这四种方法不会改变原始字符串。
2.1concat()方法,将一个或多个字符串拼接起来,返回新的字符串。不改变原始字符串。
concat()方法可以接受一个或多个参数。
concat()方法接受一个参数。
varlove="Ilove"; varresult=love.concat("you"); alert(result);//"Iloveyou" alert(love);//"Ilove"
love调用了concat()方法,返回"Iloveyou",love的值并没有改变。
concat()方法接受多个参数。
varlove="Ilove"; varresult=love.concat("you","very","much","!"); alert(result);//"Iloveyouverymuch!" alert(love);//"Ilove"
不过,在实践中,通常用+号操作符将字符串拼接在一起。
2.2slice()、substring()、substr()方法,通过提取原始字符串的部分或全部来创建新的字符串,返回创建后的新字符串,不改变原始字符串。
slice()、substring()、substr()方法可以接受一个或两个参数,这些参数为数字,可以是正值参数,也可以是负值参数。
2.2.1参数为正值时
传入两个参数的情况
对于slice()、substring(),第一个参数为提取的开始位置(包括开始位置的字符),第二个参数为提取的结束位置(不包括结束位置的字符)。
对于substr(),第一个参数为提取的开始位置(包括开始位置的字符),第二个参数为提取的字符个数。
varhello="IloveJavaScript!"; alert(hello.slice(7,11));//"Java" alert(hello.substring(7,11));//"Java" alert(hello.substr(7,11));//"JavaScript!"
字符串"IloveJavaScript!"长度为18,即位置从0到17。第7位的字符是"J",第11位的字符是"S"。
slice()、substring()提取的子字符串是从第7位开始(包括第7位的"J")到第11位结束(不包括第11位的"S"),于是用这两个方法提取的新字符串是"Java"。而substr()则是从第7位"J"开始(包括第7位的"J"),提取11个字符,最后提取的新字符串为"JavaScript!"。
传入一个参数的情况
参数为正值,传入一个参数时,slice()、substring()、substr()方法提取原理相同,即从参数的位置开始提取(包括开始位置的字符),一直提取到原始字符串的最后一个字符(包括最后一个字符)。
varhello="IloveJavaScript!"; alert(hello.slice(7));//"JavaScript!" alert(hello.substring(7));//"JavaScript!" alert(hello.substr(7));//"JavaScript!"
传入了一个参数7,即从第7位开始(包括第7位的"J"),一直提取到原始字符串的最后一位(包括最后一位的"!")。于是,只有一个参数,且参数为正值时,slice()、substring()、substr()方法返回的新字符串相同。
2.2.2参数为负值时,不管是一个参数还是两个参数
slice()方法会将传入的所有负值与字符串长度相加。
substring()方法会将传入的所有负值都转化为0。
substr()方法,若第一个参数是负值,则将负值与字符串长度相加;若第二个参数是负值,则将其转化为0。
varhello="IloveJavaScript!"; alert(hello.slice(-11));//"JavaScript!" alert(hello.substring(-11));//"IloveJavaScript!" alert(hello.substr(-11));//"JavaScript!" alert(hello.slice(-11,-9));//"Ja" alert(hello.substring(-11,-9));//""(空字符串) alert(hello.substr(-11,-9));//""(空字符串)
当传入一个负值参数-1时,
slice()将负值参数与字符串长度相加,前面提到过,字符串"IloveJavaScript!"的长度为18,于是slice(-11)即相当于slice(7),即从第7位开始提取,最后提取的子字符串为"JavaScript!";
substring()会将负值转化为0,substring(-11)相当于substring(0),即从第0位开始提取,最后提取的子字符串为"IloveJavaScript!";
substr()将负值参数与字符串长度相加,substr(-11)相当于substr(7),即从第7位开始提取,最后提取的子字符串为"JavaScript!"。
当传入参数-11,-9时,
slice()将所有负值参数与字符串长度相加,slice(-11,-9)相当于slice(7,9),最后提取的子字符串为"Ja";
substring()会将所有负值转化为0,substring(-11,-9)相当于substring(0,0),即从第0位开始,第0位结束,即提取的是空字符串;
substr()将第一个参数-11与字符串长度相加,将第二个参数-9转化为0,substr(-11,-9)相当于substr(7,0),即从第7位开始,提取0个字符串,即也是空字符串。
3.字符串位置方法
indexOf()方法和lastIndexOf()方法,返回要检索的子字符串在原始字符串中第一次出现的位置。
indexOf()方法从原始字符串开头向后检索子字符串,lastIndexOf()方法从原始字符串末尾向前检索子字符串。
indexOf()方法和lastIndexOf()方法接受一个必选参数。
vartest="balalabalalabalala"; alert(test.indexOf("a"));//"1" alert(test.lastIndexOf("a"));//"19"
indexOf()从开始位置向后检索子字符串"a","a"第一次出现的位置是1;lastIndexOf()从末尾位置向前检索子字符串"a","a"第一次出现的位置是19。
如果没有找到要检索的子字符串,则这两个方法都会返回-1。
vartest="balalabalalabalala"; alert(test.indexOf("h"));//"-1" alert(test.lastIndexOf("h"));//"-1"
indexOf()方法和lastIndexOf()方法接受第二个可选参数,表示从原始字符串的哪个位置开始。
vartest="balalabalalabalala"; alert(test.indexOf("a",7));//"8" alert(test.lastIndexOf("a",7));//"5"
indexOf("a",7)从第7位向后检索子字符串"a","a"第一次出现的位置是8;lastIndexOf("a",7)从第7位向前检索子字符串"a","a"第一次出现的位置是5。
4.字符串大小写换换方法
ECMAScript 中涉及字符串大小写转换的方法有4个:toUpperCase()、toLocaleUpperCase()、toLowerCase()、toLocaleLowerCase()。
toUpperCase()和toLowerCase()是典型的方法,toLocaleUpperCase()和toLocaleLowerCase()是针对当地地区的方法,以保证字符串正确的转换。
在不知道自己的代码在哪种语言环境中运行时,使用针对当地地区的方法更稳妥一些。
vartest="balalabalalabalala"; alert(test.toLocaleUpperCase());//"BALALABALALABALALA" alert(test.toUpperCase());//"BALALABALALABALALA" alert(test.toLocaleLowerCase());//"balalabalalabalala" alert(test.toLowerCase());//"balalabalalabalala"
5.trim()方法
trim()方法会创建原始字符串的副本,并删除前置和后缀的所有空格,然后返回结果,不会改变原始字符串。
vartest="balalabalalabalala"; vartest1=test.trim(); alert(test1);//"balalabalalabalala" alert(test);//"balalabalalabalala" alert(test1.length);//"20" alert(test.length);//"28"
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!