String
JavaScript String
对象是 文本值的包装器。除了存储文本, String
对象包含一个属性和各种 方法来操作或收集有关文本的信息。与 Boolean
对象类似, String
对象不需要进行实例化 便能够使用。例如,您可以将一个变量设置为一个字符串, 然后 String
对象的所有属性或 方法都可用于该变量:
var myString = "My string";
String
对象只有一个 属性,即 length
,它是 只读的。length
属性可用于只返回 字符串的长度:您不能在外部修改它。随后的代码 提供了使用 length
属性确定一个字符串中的字符数的示例:
var myString = "My string"; document.write(myString.length); // Results in a numeric value of 9
该代码的结果是 9
,因为 两个词之间的空格也作为一个字符计算。
在 String
对象中有相当多的方法可用于操作和收集有关文本的信息。 以下是可用的方法列表:
-
charAt
-
charCodeAt
-
concat
-
fromCharCode
-
indexOf
-
lastIndexOf
-
match
-
replace
-
search
-
slice
-
split
-
substr
-
substring
-
toLowerCase
-
toUpperCase
chartAt
方法可用于基于您作为参数传递的索引检索 特定字符。 下面的代码说明了如何返回 字符串的第一个字符:
var myString = "My string"; document.write(myString.chartAt(0); // Results in M
如果您需要相反的结果,有几个方法 可返回字符串中的指定字符或字符集,而不 使用索引返回字符。这些方法包括 indexOf
和 lastIndexOf
,这两个方法都包含两个 参数:searchString
和 start
。 searchString
参数是起始索引, start
参数告诉方法 从哪里开始搜索。这两个方法之间的区别在于, indexOf
返回第一个索引,lastIndexOf
返回最后一个索引。
charCodeAt
方法类似于 charAt
:惟一的区别在于它返回 Unicode 字符。另一种与 Unicode 相关的方法(包括在 String
对象中)是 fromCharCode
,它将 Unicode 转换为 字符。
如果您想要组合字符串,可以使用加号 (+
) 将这些字符串加起来,或者您可以 更适当地使用 concat
方法。该 方法接受无限数量的字符串参数,连接它们,并 将综合结果作为新字符串返回。清单 2 展示了如何使用 concat
实例将多个字符串合并成一个。
清单 2. 使用 concat 方法合并多个字符串
var myString1 = "My"; var myString2 = " "; var myString3 = "string"; document.write(myString.concat(myString1, myString2, myString3); // Results in "My String"
还有一组 String
方法 接受正则表达式作为一个参数,以查找或修改一个字符串。 这些包括 match
、 replace
和 search
方法。match
方法使用正则 表达式搜索特定字符串并返回所有的匹配的字符串。 replace
方法实际上接受子字符串或 正则表达式和替换字符串作为其第二个参数, 用替换字符串更换所有匹配项,并返回更新的 字符串。这些方法的最后一个是 search
方法,它搜索正则表达式的匹配结果并返回其 位置。
如果需要修改字符串,有多个方法派得上用场。 第一个方法是 slice
方法,它基于索引或 索引的开始和结尾的组合提取 并返回一个字符串的一部分。另一个方法是split
方法。 split
方法每当找到分隔符参数时就将一个字符串分割成一系列 子字符串。例如,如果将逗号 (,
) 作为一个参数传递,那么字符串 将在每个逗号处分割成一个新的子字符串。能够修改字符串的方法还包括 substr
方法,它 基于指定为参数的起始位置和长度,从字符串提取字符, 还有 substring
方法,该方法基于指定为参数的两个索引从一个字符串提取字符。能够改变字符串的最后的方法分别是 toLowerCase
和 toUpperCase
,它们将字符串中的字符分别转换为 小写和大写字母。这些方法在 比较字符串值时非常有用,因为字符串有时可能 大小写不一致。这些方法确保您在比较 值,而不是大小写。