51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

JavaScript核心对象-String对象

600.png

字符串是JavaScript中最常使用的一个对象,几乎每一个程序都会使用到字符串。与其它基本数据类型一样,字符串也有两种形式:基本数据类型形式和对象形式。JavaScript会根据需要在这两种形式之间自动转换。

字符串对象也就是String对象,它提供了一组方法和属性来完成各种字符串操作。创建字符串的方法有两种:一是通过把用引号括起来的文字字符赋值给变量,这种方法称为隐式方法;另一种是使用关键字new和字符串对象构造函数String()来创建String对象。它的语法格式为:

var str = "hello world";
var str = new String("hello world");
String对象的属性

String对象有两个属性,如下表所示。length属性用于得到字符串中包含的字符个数,每一个汉字算是一个字符。

| 属性 | 描述 | |-----------|--------------------| | length | 保存字符串中的字符个数。只读属性 | | prototype | 用于扩展String对象的属性和方法 |

String对象的方法

String对象提供了两类方法:一类是模拟HTML标签,用于格式化字符串,比如改变字体大小和文字颜色等;另一类用于操作字符串,例如查找和替换字符串,改变字符串的大小写,提取子串等。

格式化字符串方法:

| 方法 | 描述 | |-------------------------|----------------------------------------------| | String.anchor(name) | 等价于HTML标签<a name="name">String</a> | | String.big() | 等价于HTML标签<big>String</big> | | String.blink() | 等价于HTML标签<blink>String</blink> | | String.bold() | 等价于HTML标签<b>String</b> | | String.fixed() | 等价于HTML标签<tt>String</tt> | | String.fontcolor(color) | 等价于HTML标签<font color="color">String</font> | | String.fontsize(size) | 等价于HTML标签<font size="size">String</font> | | String.italics() | 等价于HTML标签<i>String</i> | | String.link(URL) | 等价于HTML标签<a href="URL">String</a> | | String.small() | 等价于HTML标签<small>String</small> | | String.strike() | 等价于HTML标签<strike>String</strike> | | String.sub() | 等价于HTML标签<sub>String</sub> | | String.sup() | 等价于HTML标签<sup>String</sup> |

操作字符串方法:

| 方法 | 描述 | |------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| | charAt(n) | 返回字符串中第n个位置的字符。n从零开始计算 | | charCodeAt(n) | 返回字符串中第n个位置的字符的Unicode编码。n从零开始计算 | | concat(value,...) | 将每一个参数转换为字符串并拼接在该字符串对象的字符串值后面,形成一个字符串并返回 | | indexOf(subString,start) | 返回subString在字符串中start位置后面第一次出现的开始位置。如果subString在字符串start位置后面没有出现,该方法返回-1;省略start时,从字符串开始位置搜索字符串 | | lastIndexOf(subString,start) | 返回subString在字符串中start位置前面最后一次出现的开始位置。如果subString在字符串中start位置前面没有出现,该方法返回-1;省略start时,从字符串尾部开始搜索字符串 | | match(regexp) | 使用指定的正则表达式匹配字符串,并返回包含匹配结果的数组,如果没有匹配结果,则返回null。如果regexp不是全局正则表达式,那么返回的数组与RegExp.exec()方法的执行结果相同;如果regexp是全局正则表达式(包含了"g"属性),返回数组的元素包含了每一个匹配的结果。关于该函数,将在后面正则表达式中详细介绍 | | replace(regexp,replacement) | 使用replacement替换字符串中regexp指定的内容,并返回替换后的结果。regexp可以是正则表达式,也可以是一般文本。replacement中可以包含正则表达式,也可以是一个函数 | | search(regexp) | 返回与regexp匹配的第一个字符串的开始位置。如果都不匹配,则返回-1 | | slice(start,end) | 返回字符串中从start位置开始,到end位置结束的子字符串,子字符串中,不包括end位置的字符。省略end参数时,则得到的子字符串为从start位置开始,到字符串结束位置的子串。如果参数为负值,表示从字符串尾部开始计算字符串的位置 | | split(delimiter) | 以delimiter为分隔符,将字符串拆分到一个字符串数组中,并返回该数组。delimiter可以是一个字符串,也可以是正则表达式 | | substring(from,to) | 返回从第from个字符开始,到(to-1)个字符结束的子串,如果省略了to参数,那么返回从第from个字符开始,到字符串末尾的子串。from的有效值在0到字符串长度-1之间 | | substr(start,length) | 返回从第start位置开始的连续length个字符组成的子串。省略length参数时,返回从第start位置开始,到字符串结尾的子串 | | toLowerCase() | 将所有字符转换为小写后返回,该函数对汉字没有作用 | | toUpperCase() | 将所有字符转换为大写后返回,该函数对汉字没有作用 |

除了上面这些于String对象实例相关的方法之外,String对象还提供了一个静态方法fromCharCode(),该方法不需要String对象实例,而是直接使用String本身来引用。这个方法的功能是将字符编码转换为字符串,字符编码之间使用逗号隔开,其语法为:

String.fromCharCode(c1,c2,...,cn);

例如,执行下面的语句后,结果的返回值为ABCD(其中A的ASCII码为65,B的ASCII码为66,C的ASCII码为67,D的ASCII码为68)。

String.fromCharCode(65,66,67,68); //返回ABCD

应用举例

String对象格式化字符串方法的应用

格式化字符串方法的应用
String.anchor()的用法:{#result-1}

String.big()的用法:{#result-2}

String.blink()的用法:{#result-3}

String.bold()的用法:{#result-4}

String.fixed()的用法:{#result-5}

String.fontcolor()的用法:{#result-6}

String.fontsize()的用法:{#result-7}

String.italics()的用法:{#result-8}

String.link()的用法:{#result-9}

String.strike()的用法:{#result-10}

String.sub()的用法:{#result-11}

String.sup()的用法:{#result-12}

var str1 = "jQuery之家";
var str2 = "©"; 
document.write("String.anchor()的用法:"+str1.anchor('htmleaf')); 
document.write("String.big()的用法:"+str1.big());                            
document.write("String.blink()的用法:"+str1.blink());                            
document.write("String.bold()的用法:"+str1.bold());                            
document.write("String.fixed()的用法:"+str1.fixed());                            
document.write("String.fontcolor()的用法:"+str1.fontcolor('red'));                            
document.write("String.fontsize()的用法:"+str1.fontsize('+2'));                            
document.write("String.italics()的用法:"+str1.italics());                            
document.write("String.link()的用法:"+str1.link('http://www.htmleaf.com/')); 
document.write("String.strike()的用法:"+str1.strike());                             
document.write("String.sub()的用法:"+str1+str2.sub();                             
document.write("String.sup()的用法:"+str1+str2.sup());
String对象字符串操作方法的应用

格式化字符串方法的应用
"jQuery之家"包含: 个字符(中文算一个字符){#result-13}

"jQuery之家"的第二个字符是:{#result-14}

"jQuery之家"的第七个字符的Unicode编码是:{#result-15}

str1.concat(str3)的结果为:{#result-16}

str1.indexOf("之家")的结果为:{#result-17}

str1.lastIndexOf("jQ")的结果为:{#result-18}

str1.slice(2,5)的结果为:{#result-19}

str1.slice(-5,-2)的结果为:{#result-20}

str1.substring(2,5)的结果为:{#result-21}

str1.substr(2,5)的结果为:{#result-22}

str1.toLowerCase()的结果为:{#result-23}

str1.toUpperCase()的结果为:{#result-24}

var str1 = "jQuery之家";
var str2 = "©";
var str3 = "-自由分享jQuery、HTML5和CSS3的插件库";
document.write("“jQuery之家”包含:"+str1.length +"个字符(中文算一个字符)");
document.write("“jQuery之家”的第二个字符是:"+str1.charAt(1));
document.write("“jQuery之家”的第七个字符的Unicode编码是:"+str1.charCodeAt(6));
document.write("str1.concat(str3)的结果为:"+str1.concat(str3));
document.write("str1.indexOf("之家")的结果为:"+str1.indexOf("之家"));
document.write("str1.lastIndexOf("jQ")的结果为:"+str1.lastIndexOf("jQ"));
document.write("str1.slice(2,5)的结果为:"+str1.slice(2,5));
document.write("str1.slice(-5,-2)的结果为:"+str1.slice(-5,-2));
document.write("str1.substring(2,5)的结果为:"+str1.substring(2,5));
document.write("str1.substr(2,5)的结果为:"+str1.substr(2,5));
document.write("str1.toLowerCase()的结果为:"+str1.toLowerCase());
document.write("str1.toUpperCase()的结果为:"+str1.toUpperCase());

返回javascript教程主目录>>


赞(0)
未经允许不得转载:工具盒子 » JavaScript核心对象-String对象