JavaScript语言中的三种对象-内置对象精讲(下)

前面两章我们阐述了JS内置对象的Date()日期对象、Array()数组对象、Math()对象等相关操作

本章是完结章,我们阐述一些比较散的常用内置对象

目录

一.JS自动包装

1.String()

2.了解字符串不可变性

二.字符相关操作

1.根据字符返回其位置

2.根据位置返回字符

3.重点-字符串常用操作

1.concat字符串拼接

2.substr字符串截取

 3.replace字符串替换

 4.字符串转数组

5.大小写的转换


一.JS自动包装

1.String()

JS会自动将简单数据类型包装为复杂数据类型

我们来看一个例子:

我们都知道简单数据类型是不能使用length等值的

const str = '小蜗'

console.log(str)

//2

可是为什么我们声明了一个简单的变量,却可以打印出这个值的长度?

其实就是因为JS的自动包装,我们来进一步了解一下底层的运行原理:

//生成临时变量,包装为复杂数据类型
const temp = new String('小蜗')

//赋值给我们声明的变量
str = temp

//销毁临时变量
temp = null

JS会自动的去执行这些步骤,把简单数据类型包装为复杂数据类型,使其可以使用复杂数据类型的一些属性,JS在自动实现转换的时候,就用到了String()这个属于构造函数的内置对象

2.了解字符串不可变性

字符串拥有不可变性,当我们var一个变量赋值为2的时候,此时输出变量值为2

如果我们将这个变量的值改变为3,此时输出的变量值为3

那么2去了哪里?是被销毁了吗,还是说它还在

其实2还是存在的,因为我们给2开辟了存放它的空间,改变为3的时候,只是给3又开辟了一块空间,让变量指向3的地址


二.字符相关操作

1.根据字符返回其位置

例如我们想要获取到这么一长串字符中"进"字所在的位置:

const str = '你好朋友-我很热爱前端-我们一起进步-你愿意和我一起学习吗'


//str.indexOf('要查找的字符',[起始位置])

console.log(str.indexOf('进'))

console.log(str.indexOf('进',6))

 我们发现这个方法好像和查找数组索引(从前查找)的方法一样

那我们想到了一个好点子,我们可不可以使用lastindexOf呢?

 好吧,不可以使用,查找字符串索引我们使用indexOf()方法就好

2.根据位置返回字符

根据位置返回字符可以选择的方法就多了,不过功能不一:

charAt(index)                返回指定位置处的字符

charCodeAt(index)                返回指定位置处的字符所对应的ASCII码

变量[index]                返回指定位置处字符(有兼容问题)

tips:键盘每一个键都对应着一个数字,这个数字就叫ASCII码,用来判断用户按下了哪一个键(我们在之后的DOM键盘事件会进行详细阐述) 

const str = '你好朋友-我很热爱前端-我们一起进步-你愿意和我一起学习吗'


console.log(str[7])
//热

3.重点-字符串常用操作

1.concat字符串拼接

concat('字符串1','字符串2')


const str = '你好'
console.log(str.concat('JS'))

2.substr字符串截取

substr('截取的起始位置','截取几个字符')


const str = '你好JS'

console.log(str.subatr(0,2))

 3.replace字符串替换

replace('被替换的字符串','替换为的字符串')


const str = '这是一段不好的言语,我们想要屏蔽掉它'

console.log(str.replace('这是一段不好的言语,我们想要屏蔽掉它','***'))

 4.字符串转数组

split('分隔符')
//分隔符用来做分隔数组的标识


const str = '你好|你能|分隔|我吗'
console.log(str.split('|'))

 这让我们想起了使用join()方法来将数组转换为字符串

5.大小写的转换

//转换大写
const str = 'hello js-i like js'

console.log(str.toUpperCase())


//转换小写
const str2 = 'HELLO JS-I LIKE JS'

console.log(str2.toLowerCase())

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Try Tomato

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值