一:String对象的创建
String是动态对象,使用构造函数显示创建字符串对象。
String用于操纵和处理文本串,
例如:获取文本串长度、提取子字符串、转换大小写等。
var newStr=new String(StringText);
JavaScript会自动在字符串和字符串对象之间进行转换,
所以字符串可以直接调用String对象的属性和方法,不同的是返回的typeof值,前者返回的是string类型,后者返回的是object类型。
二:String对象的属性
1.length属性:返回字符串的长度(字符长度,不是字节长度)
语法:strObject.length
参数说明:strObject:对象名或字符变量名
var strObj=new String("abc中文");
console.log(newString.length);
运行结果:5
2.constructor属性:用于对当前对象类型判断
语法:strObject.constructor
参数说明:strObject:对象名或字符变量名
if(strObj.constructor==String){
console.log("strObj是字符串对象");
}else{
cosole.log("strObj不是字符串对象");
}
运行结果:strObj是字符串对象
3.prototype属性:为对象添加自定义的属性和方法
语法:strObject.prototype.name=value
参数说明:
name:要添加的属性名或方法名
value:添加属性的值或执行方法的函数
String.prototype.name="添加了name属性";//针对的是String对象
console.log(strObj.name);
运行结果:添加了name属性
三:String对象的方法
1.查找字符串
(1)cgharAt():返回字符串中指定位置的字符
语法:strObject.charAt(index)
参数说明:
index:必选,字符在字符串中的下标
var strObj=new String("I like JavaScript");
console.log(strObj.charAt(5);
运行结果:e
(2)indexOf():返回某个字符串在字符串中首次出现的位置
语法:strObject.indexOf(substring,startindex)
参数说明:
substring:必选,要查找的子字符串
startindex:可选,开始查找的位置,取值范围为0~strObject.length,查找的字符串没有出现返回-1
console.log(strObj.indexOf("J");
console.log(strObj.indexOf("J",10);//查找的字符串没有出现返回-1
运行结果:7,-1
实例:获取指定字符在字符串中出现的次数。
var substr="雁"
var strObje=new String("大雁过雁塔雁塔留雁雁不留");
var position=0;
var index=0;
var num=-1;
while(position!=-1){
position=strObje.indexOf(strin,index);
num++;
index=position+1;
}
//console.log("定义的字符串:"+substr);
console.log("字符串中有"+num+"个"+substr);
运行结果:字符串中有5个雁
(3)lastIndexOf():返回某个子字符串在字符串中最后出现的位置
语法:strObject.lastIndexOf(substr,startindex)
参数说明:
substr:必须,要在字符串中查找的子字符串
startindex:可选,开始查找的位置,取值范围为0~strObject.length,查找的字符串没有出现返回-1
console.log(substr.lastIndexOf("雁"));
运行结果:9
2.截取字符串
(1)slice():提取字符串的片段,并返回被提取的部分
语法:strObject.slice(startindex,endindex)
参数说明:
startindex:必选,指定提取字符串开始的位置。可以是负数,表示从尾部开始算起。
endindex:可选,指定提取字符串结束的位置。可以是负数,表示从尾部开始算起。
console.log(substr.slice(-6));
运行结果:塔留雁雁不留
(2)substr():从字符串的指定位置开始提取指定长度的子字符串
语法:strObject.substr(startindex,length)
参数说明:
startindex:必选,同上
length:可选,用于指定提取的子字符串的长度,省略则表示渠道最后
console.log(substr.substr(2,10));
运行结果:过雁塔雁塔
实例:对一些超长输出的字符串内容进行截取,并通过“…”代替省略内容
var str=" 小鱼入鱼网鱼网捕鱼鱼难逃, 大雁过雁塔雁塔留雁雁不留";
if(substr.length>10){
console.log(str.slice(0,10)+"..."+"<br>");
console.log(str.substr(0,10)+"..."+"<br>");
}else{
console.log(str);
}
运行结果:小鱼入鱼网鱼网捕鱼...
小鱼入鱼网鱼网捕鱼...
3.大小写转换
(1)toLowerCase():把字符串转换为小写
语法:strObject.toLowerCase()
var str="I Like JavaScript";
console.log(str.toLowerCase());
运行结果:i like javascript
(2)toUpperCase():把字符串转换为大写
语法:strObject.toUpperCase()
var str="I Like JavaScript";
console.log(str.toUpperCase());
运行结果:I LIKE JAVASCRIPT
4.连接和拆分
(1)concat():连接两个或多个字符串
语法:strObject.concat(str1,str2,…)
参数说明:str1,str12…:必选,要连接的参数,可以是一个或多个
var str="I Like JavaScript";
var str1=" i like";
var str2=" javascript";
str.concat(str1,str2);
console.log(str.concat(str1,str2));
运行结果:I Like JavaScript i like javascript