从零单排——面向对象角度认识JS世界Part2

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,'&amp')
        .replace(/\</g, '&lt;')
        .replace(/\>/g, '&gt;')
        .replace(/\'/g, '&#39;')
        .replace(/\"/g, '&quot;');
}
var str = '<h1>Hello "Word"<h1>';
console.log(str.escapeHTML());

/*对字符串反转义*/
String.prototype.unescapeHTML = function() {
   return this.replace(/&amp;/, '&')
       .replace(/&lt;/g, '<')
       .replace(/&gt;/g, '>')
       .replace(/&#39;/g, '\'')
       .replace(/&quot;/g, '\"')
}
str = str.escapeHTML();
console.log(str.unescapeHTML());
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值