全面感知ES6(2)字符串的扩展

ES6中字符串的扩展

最近不知道那个公司的那个面试官问起了这样一个面试题,

请说出20个字符串的方法,少一个就算错,

然后各大公司纷纷模仿了起来。

然后我就很恐慌,已经离开学校那么久了,那些字符串的方法,数组的方法早就忘完了,

没办法,只能从新记啊!

整理的字符串比较常用和凑数量的方法,代码如下:

/*
字符串方法:
charAt:返回指定索引位置的字符
charCodeAt:返回指定索引位置字符的 Unicode 值
formCharCode:将 Unicode 转换为字符串
* slice:提取字符串的片断,并在新的字符串中返回·被提取的部分
* substring:提取字符串中两个指定的索引号之间的字符(包头不包尾)
* substr:包头也包尾

* search:搜索字符串中的字符串首次出现位置,返回的是字符串所对应的索引
* match:搜索字符串中指定的字符串的值;返回字符串
* replace:用一些字符替换另一些字符
* split:把字符串分割为子字符串数组

* indexOf:返回字符串中检索指定字符第一次出现的位置
lastIndexOf:返回字符串中检索指定字符最后一次出现的位置
includes: 有这个需要搜索的内容返回true没有返回false

toLowerCase:变成小写
toUpperCase:变成大写
trim:移除字符串首尾空白
trimLeft:移除首字符串空白
trimRight:移除尾字符串空白

padStart:在开始位置填充
padEnd:在尾部位置开始填充

concat:连接两个或多个字符串,返回连接后的字符串

small将数据用一个small标签包起来
anchor将数据用一个b标签包起来
bold将数据用一个a标签包起来
strike将数据用一个strike标签包起来
big将数据用一个big标签包起来

repeat
方法返回一个新字符串,表示将原字符串重复n次

startsWith
判断字符串是否以某个字符串开头,是的话,返回true,否则返回false
endsWitch
判断字符串是否以某个字符串结尾,是的话,返回true,否则返回false
*/

一些不常见也不常用的字符串方法的使用:

    
    let srt = "abc"
console.log(srt.padStart(9))// abc
console.log(srt.padStart(9, 's'))// ssssssabc
console.log(srt.includes('dafasddasdada'));// false
console.log(srt.small());// <small>abc</small>
console.log(srt.bold());// <b>abc</b>
console.log(srt.anchor('llll'));// <a name="llll">abc</a>
console.log(srt.strike());// <strike>abc</strike>
console.log(srt.big());// <big>abc</big>

和一个突发奇想的小demo

    
    let templateStr = "本人今天心情{{xinqing}},买了一个{{xuegao}},花了{{money}}块钱。";
let data = {
xinqing: "很不错",
xuegao: "可爱多",
money: 3
};
let content = templateStr.replace(/\{\{(\w+)\}\}/g, function (match, $1) {
return data[$1];
})
console.log(content);
    //本人今天心情很不错,买了一个可爱多,花了3块钱。

然后我们回归正题,

在ES6中有那些新增的字符串模板呢和之前的相比又有那些优点呢?

/*
ES6新增的字符串模板
把字符串放在一对反引号里面 ``
优点:
1.随便折行
2.直接在字符串里面放变量、
${变量}
双引号的缺点:
1.不能折行
2.添加数据需要大量的拼接
*/

老规矩,直接上代码:

    
   let x = 100;
let srt2 = `dafagaggagagasdgasdg${x}
afdfafaasdfasdfasdfasdfasd
sdfasdfsadfasdfasdf`;
console.log(srt2);
    //  dafagaggagagasdgasdg100
        afdfafaasdfasdfasdfasdfasd
        sdfasdfsadfasdfasdf
    let srt3 = "asdfasnfsadfasf" +
"sdfgasfa" + x + "sdafasdfasf" +
"fadfsafasfasf";
console.log(srt3);
    //asdfasnfsadfasfsdfgasfa100sdafasdfasffadfsafasfasf

嗯,``号是不是比双引号方便多了。

关于ES6的字符串的扩展我能分享给大家大概就是这么多了,

如果上述代码有错误和不足,请评论或私信,我好及时改正。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页