part2 内置对象
01 String
String对象常用方法和属性
一、concat方法
var str1 = "a";
var str2 = "b";
var str3 = "c";
console.log(str1.concat(str2,str3));//abc
/*等同于字符串想加 result = str1+str2+str3*/
二、indexOf方法
/*找到匹配项返回索引值,没有找到返回-1*/
var myString="JavaScript";
var a1=myString.indexOf("v");//2
var a2=myString.indexOf("S");//4
var a3=myString.indexOf("Script");//4
var a4=myString.indexOf("key");// 如果没有匹配项返回 -1
/*indexOf(str,fromi)还可以传入第二个参数,
表示查找起始位置,若参数为负值则从0开始查找*/
三、charAt方法
返回指定索引位置的字符,若索引越界,返回空字符串
四、substr(formi,length)
/*截取部分字符串,从索引fromi开始到length长度,
不指定或者length超过可截取最大长度,则截取到结尾*/
myString="JavaScript";
console.log(myString.substr(1,1));//a
console.log(myString.substr(2,2));//va
console.log(myString.substr(3,3));//aSc
console.log(myString.substr(4,4));//Scri
console.log(myString.substr(0));//JavaScript
console.log(myString.substr(0,100));//JavaScript
/*若起始索引为负,则从右往左开始截取 - -1表示倒数第一个,
-2表示倒数第二个*/
五、substring(stari,endi)
截取起始索引starti到结束索引endi的子字符串,但是包含stari的字符,不包含endi处的字符(含头不含尾)
六、slice(stari,endi)
用法基本和substring()一样。
不同点:支持负数
七、split()分割
/*按给定字符串分割,返回分割后的多个字符串组成的字符串数组。*/
var s="a,bc,d";
console.log(s.split(","));//["a", "bc", "d"]
s="a,b,c,d,";
console.log(s.split(","));//["a", "b", "c", "d", ""]
八、search()方法
判断是否包含符合条件的关键词,如果找不到返回-1,不支持g,加i忽略大小写。缺点:不能设置开始查找位置,只能找第一个不能找所有
九、match()方法
获取所有关键词内容,返回包含所有关键词内容的数组,如果找不到返回null,加g可以找所有,省略只找第一个,缺点:无法返回每个关键词的位置。
十、字符串大小写转换
myString="JavaScript";
myString = myString.toLowerCase();//javascript
console.log(myString);
myString = myString.toUpperCase();//JAVASCRIPT
console.log(myString);
十一、replace用法
参考之前写的《replace高级》
这次我们通过修改一些String对象原型方法的方式来认识replace用法
/*字符串-去掉前空白字符 */
String.prototype.ltrim = function(){
return this.replace(/(^\s*)/g, "");
}
var str = ' abc';
console.log(str.ltrim());
/*字符串去掉后空白字符*/
String.prototype.rtrim = function(){
return this.replace(/(\s*$)/g, "");
}
var str = 'abc ';
console.log(str.ltrim());
/*字符串去掉前后空白字符*/
String.prototype.trim = function() {
return this.replace(/(^\s*)|(\s*$)/g, "");
}
var str = ' abc ';
console.log(str.ltrim());
/*将一个字符串的首字母大写,其它字符小写*/
String.prototype.capitalize= function() {
return this.trim().replace(/^(\w{1})(.*)/g, function(match, g1, g2) {
return g1.toUpperCase() + g2.toLowerCase();
});
}
var str = 'javascript'
console.log(str.capitalize())
/*检查字符串是否为空*/
String.prototype.isEmpty = function(){
return this.length === 0;
}
var str = '';
console.log(str.isEmpty());
/*对字符串特殊字符进行转义*/
String.prototype.escapeHTML = function(){
//先转&符号,不然之后的&符号会被转掉
return this.replace(/&/g,'&')
.replace(/\</g, '<')
.replace(/\>/g, '>')
.replace(/\'/g, ''')
.replace(/\"/g, '"');
}
var str = '<h1>Hello "Word"<h1>';
console.log(str.escapeHTML());
/*对字符串反转义*/
String.prototype.unescapeHTML = function() {
return this.replace(/&/, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/'/g, '\'')
.replace(/"/g, '\"')
}
str = str.escapeHTML();
console.log(str.unescapeHTML());