String类型《javascript高级程序设计》阅读笔记
这里复习一些String类型,我觉得String类型是笔试必考的内容了,虽然是简单了点,但对于我这种即将找工作的童鞋来说基础还是要扎实点才行。
String类型是字符串的对象包装类型。
1,length属性:
很简单,表示字符串的字符数量;但要注意的是,即使字符串中包含双字节字符,每个字符也仍然算一个字符。
例如alert("add我".length)的结果应该是4;这令我想起今年的淘宝前端笔试题,有个校验会员名长度是5-20个字节的题目,那么这里字符串"add我"就是五个字节了。
至于怎么个校验,我的思路是将字符串的双字节的字符替换为"**",然后用length属性得出长度。
2,字符方法:
charAt():
charCodeAt():
这两个方法太简单就不说了。
3,字符串操作方法:
concat():
看例子:var stringValue="hello ";
var result=stringValue.concat("rason2008");
alert(result); //"hello rason2008"
alert(stringValue); //"hello "
但实践中使用加号操作符(+)更多。
slice():
substr():
substring();
以上三个方法第一个参数指定字符串开始的位置;slice()和substring()方法的第二个参数指定的是子字符串最后一个字符后面的位置,而substr()的第二个参数指定的则是返回的字符个数。
在传递这些方法的参数是负值的情况下:slice()方法会将传入的负值与字符串的长度相加;substr()方法将负的第一个参数加上字符串的长度,而将负的第二个参数变为0; substring()方法会把所有负值参数都转换为0。
//截取第 6 位开始的字符
var myString = "Every good boy does fine.";
var section = myString.substring(6); //结果: "good boy does fine."
//截取第 0 位开始至第 10 位为止的字符
var myString = "Every good boy does fine.";
var section = myString.substring(0,10); //结果: "Every good"
//截取从第 11 位到倒数第 6 位为止的字符
var myString = "Every good boy does fine.";
var section = myString.slice(11,-6); //结果: "boy does"
//从第 6 位开始截取长度为 4 的字符
var myString = "Every good boy does fine.";
var section = myString.substr(6,4); //结果: "good"
4,字符串位置方法:
indexOf():从字符串的开头向后搜索子字符串,木有找到返回-1
lastIndexOf():从字符串的末尾向前搜索子字符串,木有找到也是返回-1
这两个方法都可以接收第二个参数,表示从字符串中哪个位置开始搜索。
5,大小写转换方法:
toLowerCase():
toUpperCase();
toLocaleLowerCase():
toLocaleUpperCase();
6,字符串的模式匹配方法:
match():
var text ="cat, bat, sat, fat";
var pattern=/.at/;
var matches=text.match(pattern);
alert(matches.index); //0
alert(matches[0]); //cat
search():从字符串开头向后查找,返回第一个匹配项的索引;
var text ="cat, bat, sat, fat";
var pos=text.search(/at/);
alert(pos); //1
replace():
var text ="cat, bat, sat, fat";
var result=text.replace("at","ond");
alert(result); //"cond, bat, sat, fat"
result=text.replace("/at/g","ond");
alert(result); //"cond, bond, sond, fond"
result=text.replace("/(.at)/g","word ($1)");
alert(result); //"word (cat), word (bat), word (sat), word (fat)"
split():指定分隔符分割成多个字符串,并将结果放在一个数组中
var colorText="red,blue,green,yellow";
var colors1=colorText.split(","); //["red","blue","green","yellow"]
var colors2=colorText.split(",",2) //["red","blue"] 第二个参数用于指定数组大小