全面感知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的字符串的扩展我能分享给大家大概就是这么多了,

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

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值