一、String对象的创建
- var str = new String(s);
- str = String(s);
参数:
参数 s 是要存储在 String 对象中或转换成原始字符串的值
返回值:
当 String() 和运算符 new 一起作为构造函数使用时,它返回一个新创建的 String 对象,存放的是字符串 s 或 s 的字符串表示。
当不用 new 运算符调用 String() 时,它只把 s 转换成原始的字符串,并返回转换后的值。
二、String对象属性
constructor:对创建该对象的函数的引用
length:字符串的长度
prototype;允许向对象添加属性和方法
三、String对象方法
1. anchor:创建HTML锚
- 语法:stringObject.anchor(anchorName)。必需。为锚定义名称。
var txt = "hello world!";
document.write(txt.anchor("myAnchor")); //<a name="myAnchor">hello world!</a>
2. big:把字符串显示为大号字体
- 语法:stringObject.big( )
3. blink:用于显示闪动的字符串
- 语法:stringObject.blink( );
4. bold:用于把字符串显示为粗体
5. charAt:返回在指定位置的字符
- 语法:stringObject.charAt(index)。必需。表示字符串中某个位置的数字,即字符在字符串中的下标。
- JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串。
6. charCodeAt( ):返回在指定的位置的字符的 Unicode 编码
- 语法:stringObject.charCodeAt(index)。必需。表示字符串中某个位置的数字,即字符在字符串中的下标
- charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数
7. concat( ):用于连接两个或多个字符串
- 语法:stringObject.concat(stringX,stringX,...,stringX)。stringX必需,被连接的为一个字符串或者一个对象。
- concat() 方法将把它的所有参数转换成字符串,然后按顺序连接到字符串 stringObject 的尾部,并返回连接后的字符串。请注意,stringObject 本身并没有被更改。
- stringObject.concat() 与 Array.concat() 很相似
8. fixed:用于把字符串显示为打字机字体。
- 语法:stringObject.fixed( ).
9. fontcolor:用于按照指定的颜色来显示字符串
- 语法:stringObject.fontcolor(color)。color,必需。为字符串规定 font-color。该值必须是颜色名(red)、RGB 值(rgb(255,0,0))或者十六进制数(#FF0000)。
10. fontsize:用于按照指定的尺寸来显示字符串。
- 语法:stringObject.fontsize(size)。size参数必须是从1至7的数字
11. fromCharCode:可接受一个指定的 Unicode 值,然后返回一个字符串
- 语法:String.fromCharCode(numX,numX,numX,...,numX).必需。一个或多个 Unicode 值,即要创建的字符串中的字符的 Unicode 编码。
- 该方法是 String 的静态方法,字符串中的每个字符都由单独的数字 Unicode 编码指定。
- 它不能作为您已创建的 String 对象的方法来使用。因此它的语法应该是 String.fromCharCode(),而不是 myStringObject.fromCharCode()。
12. indexOf:检索字符串
- 语法:stringObject.indexOf(searchvalue,fromindex)。searchvalue,必需,规定需检索的字符串值。fromindex,可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。
- indexOf( ) 方法对大小写敏感
- 如果要检索的字符串值没有出现,则该方法返回 -1。
13. italics:用于把字符串显示为斜体。
- 语法:stringObject.italics()
14. lastIndexOf:从后向前搜索字符串
- 语法:stringObject.lastIndexOf(searchvalue,fromindex)。searchvalue,必需。规定需检索的字符串值。。fromindex,可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。
- 如果在 stringObject 中的 fromindex 位置之前存在 searchvalue,则返回的是出现的最后一个 searchvalue 的位置。
- lastIndexOf()方法对大小写敏感
- 如果要检索的字符串值没有出现,则该方法返回 -1
15. link:用于把字符串显示为超链接
- 语法:stringObject.link(url)。必需。规定要链接的 URL
16. localeCompare:用本地特定的顺序来比较两个字符串
- 语法:stringObject.localeCompare(target)
- 返回值:说明比较结果的数字。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。
17. match:找到一个或多个正则表达式的匹配
- 语法:stringObject.match(searchvalue) 或者 stringObject.match(regexp)
- match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
- 该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置
- 参数:searchvalue:必需,规定要检索的字符串值
- regexp,必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。
- match() 方法将检索字符串 stringObject,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g
18. replace:替换与正则表达式匹配的子串
- 语法:stringObject.replace(regexp/substr,replacement)。regexp/substr,必需。规定子字符串或要替换的模式的 RegExp 对象。replacement:必需。一个字符串值。规定了替换文本或生成替换文本的函数
19. search:检索与正则表达式相匹配的值
- 语法:stringObject.search(regexp)。regexp:该参数可以是需要在 stringObject 中检索的子串,也可以是需要检索的 RegExp 对象。要执行忽略大小写的检索,请追加标志 i。
- 返回值:stringObject 中第一个与 regexp 相匹配的子串的起始位置。如果没有找到任何匹配的子串,则返回 -1
- search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置
20. slice:提取字符串的片断,并在新的字符串中返回被提取的部分
- 语法:stringObject.slice(start,end)
- 返回值:一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。
- String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。
- 还要注意的是,String.slice() 与 Array.slice() 相似。
21. small:使用小字号来显示字符串。
22. split:把字符串分割为字符串数组。
- 语法:stringObject.split(separator,howmany)。separator,必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。howmany,可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度
- 返回值:一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
23. strike:使用删除线来显示字符串
24. sub:把字符串显示为下标
25. substr:从起始索引号提取字符串中指定数目的字符
- 语法:stringObject.substr(start,length)。start,必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。length,可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
- 返回值:一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符
- substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用
26. substring:提取字符串中两个指定的索引号之间的字符
- 语法:stringObject.substring(start,stop)。start,必需,一个非负的整数。规定要提取的子串的第一个字符在 stringObject 中的位置。stop,可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
- 返回值:一个新的字符串,该字符串值包含 stringObject的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop减 start。
- 与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数
27. sup:把字符串显示为上标
28. toLocaleLowerCase:把字符串转换为小写
29. toLocaleUpperCase:把字符串转换为大写
30. toLowerCase:把字符串转换为小写
31. toUpperCase:把字符串转换为大写
32. toSource:代表对象的源代码
33. toString:返回字符串
34. valueOf:返回某个字符串对象的原始值
四、String对象描述
- 字符串是 JavaScript 的一种基本的数据类型。
- String 对象的 length 属性声明了该字符串中的字符数。
- String 类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串。
- 需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串。
- 在较早的 Netscape 代码基的 JavaScript 实现中(例如 Firefox 实现中),字符串的行为就像只读的字符数组。例如,从字符串 s 中提取第三个字符,可以用 s[2] 代替更加标准的 s.charAt(2)。此外,对字符串应用 for/in 循环时,它将枚举字符串中每个字符的数组下标(但要注意,ECMAScript 标准规定,不能枚举 length 属性)。因为字符串的数组行为不标准,所以应该避免使用它。