ES6——字符串


let string = "ding,guang,da";

string.includes("ding");     // true

string.startsWith("guang");    // true

string.endsWith("da");      // false

string.startsWith("guang",5)  // true



注意点:

  1. 这三个方法只返回布尔值,如果需要知道子串的位置,还是得用 indexOf 和 lastIndexOf

  2. 如果需要传入正则表达式,则需要使用indexOf 和 lastIndexOf 这两个方法,它们会将正则表达式转换为字符串并搜索它。这三个方法会报错

字符串重复:

repeat():返回新的字符串,表示将字符串重复指定次数返回。


console.log("Hello,".repeat(2));  // "Hello,Hello,"



如果参数是小数,向下取整


console.log("Hello,".repeat(3.2));  // "Hello,Hello,Hello,"



如果参数是 0 至 -1 之间的小数,会进行取整运算,0 至 -1 之间的小数取整得到 -0 ,等同于 repeat 零次


console.log("Hello,".repeat(-0.5));  // "" 



如果参数是 NaN,等同于 repeat 零次


console.log("Hello,".repeat(NaN));  // "" 



如果参数是负数或者 Infinity ,会报错:


console.log("Hello,".repeat(-1));  

// RangeError: Invalid count value



console.log("Hello,".repeat(Infinity));  

// RangeError: Invalid count value



如果传入的参数是字符串,则会先将字符串转化为数字


console.log("Hello,".repeat("hh")); // ""

console.log("Hello,".repeat("2"));  // "Hello,Hello,"



字符串补全:

  1. padStart:返回新的字符串,表示用参数字符串从头部(左侧)补全原字符串。

  2. padEnd:返回新的字符串,表示用参数字符串从尾部(右侧)补全原字符串。

以上两个方法接受两个参数,第一个参数是指定生成的字符串的最小长度,第二个参数是用来补全的字符串。如果没有指定第二个参数,默认用空格填充。


console.log("h".padStart(5,"o"));  // "ooooh"

console.log("h".padEnd(5,"o"));    // "hoooo"

console.log("h".padStart(5));      // "    h"



如果指定的长度小于或者等于原字符串的长度,则返回原字符串:


console.log("hello".padStart(5,"A"));  // "hello"



如果原字符串加上补全字符串长度大于指定长度,则截去超出位数的补全字符串:


console.log("hello".padEnd(10,",world!"));  // "hello,worl"



常用于补全位数:


console.log("123".padStart(10,"0"));  // "0000000123"



模板字符串

===============================================================

用反引号 ` 除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量和表达式。

基本用法:

普通字符串:


let string = `Hello'\n'world`;

console.log(string); 

// "Hello'

// 'world"



多行字符串:


let string1 =  `嘿嘿,

你好`;

console.log(string1);

// 嘿嘿,

// 你好



字符串插入变量和表达式:

变量名写在 ${} 中,可以放入 JavaScript 表达式。


let name = "光达";

let age = 20;

let info = `我叫 ${name},我 ${age+1} 岁.`

console.log(info);

// 我叫光达,我21岁了.



字符串中调用函数:


function f(){

  return "word";

}

let string2= `hello,${f()}`;

console.log(string2);  // Hello,world



注意点: 模板字符串中的换行和空格都是会被保留的


innerHtml = `<ul>

  <li>menu</li>

  <li>mine</li>

</ul>

`;

console.log(innerHtml);

// 输出

<ul>
#  最后

**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。**

**因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/6c669bc6f65bde8e59575036bbdfd17b.jpeg)

![](https://img-blog.csdnimg.cn/img_convert/0e04945fd037863dc6e8c18a79aed764.png)

![](https://img-blog.csdnimg.cn/img_convert/436235c5dd9e32a76c9241e91f97d6f5.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618191877)

**由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
3039944)]

[外链图片转存中...(img-AJyN6SUc-1715353039944)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618191877)

**由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值