ES-String篇

这篇博客探讨了JavaScript中的String对象,包括其作为基本包装类型的角色,字符串的不可变性特性,以及如何创建String实例。重点讲解了String的常用方法,如查找、拼接、替换和切割字符串,以及大小写转换。此外,还介绍了ES6引入的模板字符串,它允许直接在字符串中插入变量,保持换行,并能调用函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 基本包装类型

  1. 为了方便操作基本数据类型,JS还提供了三个特殊的引用类型:String、Number、Boolean
  2. 基本包装类型就是把简单数据类型包装成为复杂数据类型,这样基本数据类型就有了属性和方法

2. String的特性

  1. String是一个对象
  2. 字符串可以看成是字符组成的数组,但是js中没有字符(char)类型
  3. 字符是一个一个的,在别的语言中字符用一对单引号括起来
  4. 在js中字符串可以使用单引号也可以使用双引号
  5. 因为字符串可以看成是数组,所以,可以通过for循环进行遍历
  6. 字符串特性:不可变性,字符串的值是不能改变
  7. 字符串的值之所以看起来是改变的,那是因为指向改变了,并不是真的值改变了
  8. .toString() 可以把别的类型转为字符串

3. 创建String实例

//1. 构造函数创建
	var a = new String('abc')
//2. 字面量
	var a = 'abc'

4. String的常用方法

4.1 查找字符串

《查找字符串》
方法描述使用
charAt(索引)返回指定位置的字符str.charAt(0)
charCodeAt(索引)返回相应索引号的字符ASCII码str.charCodeAt(0)
str[索引]H5新增获取指定位置的字符HTML5新增
.indexOf(字符串,[索引])返回从给定的索引位置开始,查找到的字符串的索引,否则-1str.indexOf('a', 2)
.lastindexOf(字符串)返回从后向前找,给定的字符串的索引,否则-1str.lastindexOf('b')
.startsWith("字符串")ES6查询参此字符串是否在当前字符串的头部,返回布尔值str.startsWith('a')
.endsWith("字符串")ES6查询参数字符串是否在当前字符串的尾部,返回布尔值str.endsWith('c')
.includes('字符串')ES6判断字符串中有没有包含参数字符串,返回布尔值str.includes('a')
.search('字符串')查找字符串中有没有特定值,返回特定值索引str.search('a')

3.2 拼接字符串

《拼接字符串》
序号方法参数描述返回值
1.concat(字符串,...)字符串列表多个字符串拼接新字符串
2(ES6).repeat(n)数值将当前字符串重复n次,然后拼接新字符串
3(ES6).padStart(2,'a')字符串如果当前的字符串不足2位,那么就在字符串的前面填充一个'a'新字符串
4(ES6).padEnd(2,'a')字符串如果当前的字符串不足两位,那么就在字符串的后面填充一个'a'新字符串

3.3 替换字符串

《替换字符串》
序号方法参数描述返回值
1.replace("原来的字符串","新的字符串")字符串替换字符串里面第一个符合条件的字符串;用正则全局,可以替换所有符合条件的字符串新字符串
//1. 一般情况下替换掉的是第一个符合条件的元素
var b = 'abca'.replace('a', 'c')
console.log(b)
//输出结果:'cbca'
//=============================================================
//2. 用正则全局可以替换所有符合条件的字符串
var b = 'abca'.replace(/a/g, 'c')
console.log(b)
//输出结果:'cbcc'

3.4 切割字符串

《切割字符串》
序号方法参数描述返回值
1.slice(开始索引,结束索引)数值从开始索引的位置开始截取,到结束索引前一个结束新字符串
2.split("字符串",切割后留下的个数)字符串从给定的字符串位置切割,切割的字符串存进数组,第二个参数可不写数组
3.substr(开始的索引,个数)数值从给定的索引处开始截取,截取给定的个数,没给个数则截取到最后截取后的字符串
4.substring(开始索引,结束索引)数值从开始索引的位置开始截取,到结束索引前一个结束截取后的字符串
5.trim()切掉字符串两端的空格新字符串

3.5 大小写转换

《字符串大小写转换》
序号方法参数描述返回值
1.toLocaleLowerCase()转小写新字符串
2.toLowerCase()转小写新字符串
3.toLocaleUpperCase()转大写新字符串
4.toUpperCase()数值转大写新字符串

4. 模板字符串ES6

  • 模板字符串,通常字符串都是用""双引号或者’'单引号包裹,模板字符串则用``反引号

  • 模板字符串中可以加入变量,不需要拼接。在模板字符串中把变量放在${}中就可以了

            let name = "张三";
            console.log(`我的名字叫:${name}`)         
    
  • 模板字符串中的内容如果是换行的,输出的时候还是换行状态,不会折叠

            let  hello = `大家好
                          我是张三`
    
  • 模板字符串中可以调用函数,输出的结果为函数的返回值

         const fn = function() {return "哈哈哈,今天天气真好"}
         let  hello = `${fn () }哈哈哈`
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值