美文网首页
JavaScript读书笔记(String篇)

JavaScript读书笔记(String篇)

作者: hygg00660 | 来源:发表于2018-04-24 10:16 被阅读8次

String类型是字符串类型的对象包装类型,可以用new String()构造函数来创建。其继承的valueOf()、toLocaleString()、toString()方法都返回对象所表示的基本字符串。每一个示例都包含一个length属性,表示字符串长度。

1、字符串方法

charAt()和charCodeAt()方法都接收一个参数,即基于0的字符串位置。charAt()返回的是参数字符串位置的字符值,而charCodeAt()返回的是参数字符串位置的字符的ASCII码值:

var theString='hello world';
alert(theString.charAt(1));        //'e'
alert(theString.charCodeAt(1));        //'101'
alert(theString[1]);        //'e'

2、字符串操作方法

concat()方法:用于将一个或多个字符串拼接起来,返回拼接的新字符串,但不会改变原字符串的值:

var theString='hello world';
var ret=theString.concat(' man',' !');
alert(ret);        //'hello world man !'
alert(theString);        //'hello world'

使用“+”操作符会有同样的效果,所以一般这个方法很少用。
slice()方法、substr()方法、substring()方法:这三个方法是截取方法,都接收一个或两个参数。
slice()方法:第一个参数是截取的起始位置,第二个参数是截取的结束位置但不包括结束位置的字符。并且当第一个参数小于第二个参数时,会返回空字符串;
substring()方法:第一个参数是截取的起始位置,第二个参数是截取的结束位置但不包括结束位置的字符。并且会自动以两个参数中较小的为起始位置,较大的为结束位置;
substr()方法:第一个参数是截取的起始位置,第二个参数是截取的长度;

var theString='hello world';
theString.slice(3) == theString.substr(3) == theString.substring(3) == 'lo world';

上面情况只有一个参数时,三个方法返回的结果是相同的,但有两个参数时就不一样了:

var theString='hello world';
theString.slice(3,5) ==  theString.substring(3,5) == 'lo';      //不包括五
theString.substr(3,5) =='lo wo';        //截取五位

当传入负值时,slice()会把负参数与字符串长度相加,sbustr()第一个参数为负会把其与长度相加,第二个参数为负则变为0,substring()则会把负参数都变为0。

3、字符串位置方法

indexOf()和lastIndexOf()方法接收的一个参数是字符串,可以从指定的字符串中搜索给定的字符串,并返回字符串第一次出现的位置,若没有找到,则返回“-1”。区别就是一个是从前往后匹配,一个是从后往前匹配。可以传入第二个数值参数,来限定搜索的起始位置,可选。
可以通过循环调用的方法来搜索出所有的匹配字符串:

var theString='A man who has a settled purpose will surely succeed';
var positions=new Array();
var pos=theString.indexOf('s');
while(pos>-1){
    positions.push(pos);
    pos=theString.indexOf('s',pos+1);
}
console.log(positions);    //[12, 16, 29, 37, 44]

4、trim()方法

该方法会删除字符串前置或后缀的所有空格,并返回一个新的字符串。

5、字符串大小写转换

toUpperCase(),toLowerCase()分别是是将字符串转为大写和转为小写。toLocaleUpperCase(),toLocaleLowerCase()与前面的对应,只是针对特定地区的实现。

未完待续······

相关文章

网友评论

      本文标题:JavaScript读书笔记(String篇)

      本文链接:https://www.haomeiwen.com/subject/lijdlftx.html