一、String 对象介绍
String对象,和其他语言一样,用于对字符串的处理。
字符串在实际的开发中用的估计是最多的,所以对字符串的使用熟练程度,也会影响项目开发的速度。
语法很简单:var str=new String(“strValue”);但我们基本都是用直接赋值的方式,即 var str=“strValue”;
说明:
虽然上面两种方法都可以创建我们想要的字符串,但是直接赋值的方式创建的String对象与用new运算符创建的String对象 处理上不同。所有字符串共享公用的全局字符串对象。如果为字符串添加属性,则它对所有字符串标准都是可以使用的。
看着上面那句话可能很多人都晕乎乎的,不理解是什么意思,下面给个例子说明下可能就会很好理解了.
(1)直接赋值方法
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
上面str1设置了一个test属性,那么str2也被定义了test属性,其实在str1以后定义的所有字符串都被定义了test属性。
(2)new 创建方法
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
在这种情况下str2 则不定义test属性。因为每个用new String()声明的String对象都有其自己的一组成员。
二、String对象常用的方法
(1)charAt(index) 方法,返回指定索引位置的字符。其中index的值为0到字符串长度减1之间,若超出这个范围,那么将返回空字符。
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
( 2 )concat(String)方法,返回连接后的字符串,返回的结果可以是两个字符串或者更多的字符串连接的结果 。即str=str1+str2+str3+…”"+strN;如果其中有不是字符串的参数,那么在连接之前会转换为字符串。
Code
(3) indexOf()方法,返回字符串中第一次出现要查找字符的位置,有效值为0到被查找字符串的长度减1.该方法返回的是一个整数值,若返回-1,则表示没有找到字符串。
Code
indexOf()方法其实还有一个参数,那就是开始查找的位置,即写法为str1.indexOf(str2,startIndex),如果startIndex为负数,那么会被认为是0,如果startIndex大于str1的长度,那么会被认为是最大的查找索引。(4)lastIndexOf(),返回被查找字符串中最后出现的位置。指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。
Code同样lastIndexOf()方法也有一个参数,也是开始查找的位置,即写法为str1.lastIndexOf(str2,startIndex),如果startIndex为负数,那么会被认为是0,如果startIndex大于str1的长度,那么会被认为是最大的查找索引。
值得说明的是:indexOf是从左往右查找,lastIndexOf是从右往左查找,否则两者就不必要同时存在了。
(5)replace方法,返回根据正则表达式进行文字替换后的字符串的复制,语法为str.replace(rgExp, replaceText),
str
必选项。要执行该替换的 String 对象或字符串文字。该字符串不会被 replace 方法修改。
rgExp
必选项。为包含正则表达式模式或可用标志的正则表达式对象。也可以是 String 对象或文字。如果 rgExp 不是正则表达式对象,它将被转换为字符串,并进行精确的查找;不要尝试将字符串转化为正则表达式。
replaceText
必选项。是一个String 对象或字符串文字,对于stringObj 中每个匹配 rgExp 中的位置都用该对象所包含的文字加以替换。在 Jscript 5.5 或更新版本中,replaceText 参数也可以是返回替换文本的函数。
Code
substring 方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串。
substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点。例如, strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。
如果 start 或 end 为 NaN 或者负数,那么将其替换为0。
子字符串的长度等于 start 和 end 之差的绝对值。例如,在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 返回的子字符串的的长度是 3。
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
当然String对象还有其他的方法,但是那些方法基本很少用在这里就不说了,大家可以参考帮助文档。
需要补充的是:在开发中很少单独使用一个方法,而是很多方法结合一起使用,例如一个新闻网页网址为http://www.hello.com?id=1 ,我需要得到网址,不需要前面的http和后面的id,那么我们就可以这样做:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
以上的列子都是在插入代码块中填写,由于时间关系还未验证,如果有错误,请指出,谢谢