JavaScript字符串对象

一.基本包装类型

为了方便操作基本数据类型,JavaScript还提供了三个特俗引用类型:String,Number和Boolean。

基本包装类型就是把简单数据类型包装成复杂数据类型,这样基本数据类型就有了属性和方法。

baa758aaa82c489384783a05b3108d9d.png

按道理基本数据类型是没有属性和方法的,而对象才有属性和方法,但上面代码却可以执行,这是因为js 会把基本数据类型包装为复杂数据类型,其执行过程如下∶

a39239b1e4d54a47b8631ee05f5536a6.png

二.字符串的不可变性

指的是里面的值不可变,虽然看上去可以改变内容,但其实地址变了,内存中新开辟了一个内存空间

3f15c9d28ade4bfeb5d3a4a689e5ec89.png

当重新给str赋值的时候,常量"abc'不会被修改,依然在内存中 

重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变

由于字符串的不可变,在大量拼接字符串的时候会有效率问题

daf92fc07a6b445d955595e38e352d42.png

三.根据字符返回位置

 字符串所以的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串。

495428a270394fdda1534750e045a319.png

3dca6af6054b49dfa8d26c294fa14b7e.png 四.求某个字符出现的位置及次数

例子:查找字符串"abcoefoxyozzopp"中所有o出现的位置以及次数

核心算法:先查找第一个o出现的位置

然后只要indexof返回的结果不是-1就继续往后查找

因为indexOf只能查找到第一个,所以后面的查找,一定是当前索引加1,从而继续查找

代码如下:

6dc49edb24dd41e7afe976aff9cd6553.png

根据位置返回字符

 1.charAt(index)根据位置返回字符

34be5117aef84130a638cb67b976b9be.png

遍历所有字符

a83dff8cdb084b60a3bb4e74aa634c4e.png2.charCodeAt(index) 

返回相应的索引号的字符的ASCII值

目的: 判断用户按下了哪个键

93380f59d51448ff8b3199d1d00bfb2a.png 3.str[index]  H5  新增的

2c28ba86ea864a19a220d8e5d89457c2.png

 五.统计次数出现的最多的字符

核心算法:利用charAt()遍历这个字符串

把每个字符都存储给对象,如果对象没有该属性,就为1,如果存在了就+1

遍历对象,得到最大值和该字符

代码如下:

7c7f7245df0c48b98ca06eef04ff3423.png

六.字符串操作方法 

5dd55aff05ad4359b4d19faf8f049318.png

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

a3c9cbdabe76404d99393a2e5d35d6f5.png 

 2.substr('截取的起始位置','截取几个字符');2943927cd2c94a7aa6e49f7bcb401310.png

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

7877b531b9c149fd9af3226f02a23563.png

4.字符串转换为数组split('分隔符')

ff0621d12a80448c98a76d3f6af3f958.png 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值