核心提示:(三)String:字符串的对象包装类型。1、定义字符串的方法1)直接赋值。var demo = hello world;//可以单引号也可以双引号var answer=Its alright;//在...
(三)String:字符串的对象包装类型。
1、定义字符串的方法
1)直接赋值。
var demo = "hello world"; //可以单引号也可以双引号 var answer="It's alright"; //在字符串中使用引号 var answer='It\'s alright'; //使用转义字符
2)使用String构造函数来创建。
var stringObj = new String("hello world");
2、使用位置(索引)访问字符串中的任何字符。
var ss = demo[1]; // ss = "e"
3、属性
length:表示字符串中包含多个字符。var demo = "hello world"; alert(demo.length); // 11prototype:可以向对象添加属性和方法。
function employee(name,born){ this.name=name; this.born=born; } var fred=new employee("John",1970); employee.prototype.salary=null; fred.salary=20000; document.write(fred.salary); // 20000constructor:对创建该对象的函数的引用。
var txt = "Hello World!"; document.write(txt.constructor); // function String() { [native code] }
4、方法
1)字符方法——访问字符串中特定字符的方法。
charAt():以单字符字符串的形式返回给定位置的那个字符。接收一个参数,即基于0的字符位置。如果参数不在0与string.length-1之间,该方法将返回一个空字符串。 charCodeAt():接收一个参数,即基于0的字符位置。返回在指定的位置的字符的Unicode编码。 使用方括号加数字索引来访问字符串中的特定字符(ECMAScript 5 定义)。var ss = "hello world"; alert(ss.charAt(1)); // e alert(ss.charCodeAt(1)); // 101 alert(ss[1]); // e
2)字符串操作方法
concat()用于将一或多个字符串拼接起来,返回拼接得到的新的字符串。 可以接收任意多个参数。
var s1 = "hello "; var s2 = s1.concat("world"); alert(s2); // "hello world" var s3 = s1.concat("world", "!"); alert(s3); // "hello world!"slice()
可提取字符串的某个部分,并以新的字符串返回被提取的部分。 第一个参数指定字符串的开始位置,第二个参数表示自字符串到哪里结束(如果省略,则将字符串的末尾作为结束位置)。 如果传入的参数是负数,会将传入的负值与字符串相加。
var ss = "hello world"; alert(ss.slice(3)); // "lo world" alert(ss.slice(3,7)); // "lo w" alert(ss.slice(-3)); // "rld"substr()
从起始索引号提取字符串中指定数目的字符。 第一个参数指定字符串的开始位置,第二个参数指定返回的字符个数。 如果传入的参数是负数,会将负的第一个参数加上字符串的长度,将负的第二个参数转换为0。
var ss = "hello world"; alert(ss.substr(3)); // "lo world" alert(ss.substr(3,7)); // "lo worl" alert(ss.substr(-3)); // "rld" alert(ss.substr(3,-4)); // ""(空字符串)substring()
提取字符串中两个指定的索引号之间的字符。 第一个参数指定字符串的开始位置,第二个参数表示自字符串到哪里结束(如果省略,则将字符串的末尾作为结束位置)。 如果传入的参数是负数,会把所有负值参数都转换为0。
var ss = "hello world"; alert(ss.substring(3)); // "lo world" alert(ss.substring(3,7)); // "lo w" alert(ss.substring(-3)); // "hello world" alert(ss.substring(3,-4)); // "hel"
3)字符串位置方法
indexOf():返回指定的字符串首次出现的位置(从开头搜索)。 lastIndexOf():返回在字符串末尾开始查找字符串出现的位置。这两个方法接收的参数:第一个参数是要搜索的字符串,第二个参数可选,表示从字符串的哪个位置开始搜索。
var ss = "hello world"; alert(ss.indexOf("o")); // 4 alert(ss.indexOf("o",6)); // 7 alert(ss.lastIndexOf("o")); // 7 alert(ss.lastIndexOf("o",6)); //4
4)trim()方法(ECMAScript 5)
创建一个字符串副本,删除前置及后缀的所有空格,然后返回结果。
var ss = " hello world "; alert(ss.trim()); // "hello world"
5)字符串大小写转换方法
toLowerCase():把字符串转换为小写。 toUpperCase():把字符串转换为大写。 toLocaleLowerCase()和toLocaleUpperCase()——针对特定地区的实现6)字符串的模式匹配方法
match():查找找到一个或多个正则表达式的匹配。只接收一个参数,即正则表达式或RegExp对象。 返回的是一个数组,数组的第一项是与整个模式匹配的字符串,之后的每一项保存着与正则表达式中的捕获组匹配的字符串。
var text = "cat, bat, sat, fat"; var pattern = /.at/; var result = text.match(pattern); alert(result.index); // 0 alert(result[0]); // "cat" alert(pattern.lastIndex); // 0search():查找与正则表达式相匹配的值。
只接收一个参数,即正则表达式或RegExp对象。 返回字符串中第一个匹配项的索引(从开头向后查找),如果没有则返回-1。
var text = "cat, bat, sat, fat"; alert(text.search(/at/)); // 1replace():在字符串中查找匹配的子串,并替换与正则表达式匹配的子串。
第一个参数是一个RegExp对象或一个字符串。 第二个参数是一个字符串或一个函数。
var text = "cat, bat, sat, fat"; alert(text.replace("at", "ond")); // cond, bat, sat, fat alert(text.replace(/at/g, "ond")); // cond, bond, sond, fondsplit():把字符串分割为字符串数组。
第一个参数即为分隔符,可以是字符串,也可以是RegExp对象。如果是个空字符串 (“”) ,那么每个字符之间都会被分割。 第二个参数可选,用于指定数组的大小,以便确保返回的数组不会超过既定大小。
var str = "How are you doing today?"; alert(str.split("")); // H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,? alert(str.split(" ")); // How,are,you,doing,today? alert(str.split(" ",2)); // How,are
7)localeCompare()方法:用于比较两个字符串。
比较 | 返回值 |
---|---|
字符串在字母表中应该排在字符串参数之前 | 返回一个负数(大多数情况下是-1) |
字符串等于字符串参数 | 返回0 |
字符串在字母表中应该排在字符串参数之后 | 返回一个正数(大多数情况下是1) |
8)fromCharCode()方法
接收一或多个字符编码,然后将它们转换成一个字符串。
从本质上看,这个方法与实例charCodeAt()执行的是相反的操作。
alert(String.fromCharCode(104,101,108,108,111)); //"hello"
9)HTML方法
返回了加入适当HTML标签的字符串。
方法 | 描述 |
---|---|
anchor() | 创建 HTML 锚。 |
big() | 用大号字体显示字符串。 |
blink() | 显示闪动字符串。 |
bold() | 使用粗体显示字符串。 |
fixed() | 以打字机文本显示字符串。 |
fontcolor() | 使用指定的颜色来显示字符串。 |
fontsize() | 使用指定的尺寸来显示字符串。 |
italics() | 使用斜体显示字符串。 |
link() | 将字符串显示为链接。 |
small() | 使用小字号来显示字符串。 |
strike() | 使用小字号来显示字符串。 |
sub() | 把字符串显示为下标。 |
sup() | 把字符串显示为上标。 |
【注】这些尽量不使用,因为它们创建的标记通常无法表达语义。