【javascript系列】字符串:字符串单个字符访问

访问字符串的单个字符

获取字符串的某一单个字符有两种方法。

第一种是使用 charAt 方法

> 'hello'.charAt(1)
'e'

第二种是使用 类数组的下标索引 方法

> 'hello'[1]
'e'

下面来具体说说每一种访问方法。

charAt 方法

charAt() 方法返回字符串中指定位置的字符。

语法

str.charAt(index)

参数
index: 0字符串长度-1 的一个整数。

说明
字符串中的字符从左向右索引,第一个字符的索引值为 0,最后一个字符的索引值为 str.length - 1
如果指定的 index 值超出了该范围,则返回一个空字符串

示例

> a = 'abcd'
'abcd'
> a.charAt(4) // index超出范围,返回一个空字符串
''
> a.charAt(0)
'a'

类数组的下标索引方法

因为字符串有length属性,并有可索引的属性0、1、2...等,所以可视为一个类数组对象。
类数组的下标索引方法 就是把字符串当作一个类数组对象(ECMA5),其中的每个字符对应一个数值索引。

语法

string[index]

注意,当index查出范围时,返回undefined.

示例

> a = 'abcd'
'abcd'
> a[0]
'a'
> a[1]
'b'
> a[2]
'c'
> a[3]
'd'
> a[4]    //index超出范围,返回undefined.
undefined

注意,使用这种类数组的下标索引法,只可以访问字符而不可以对其进行删除或添加,因为对应属性并不是可读或可写的,毕竟类数组不是数组。

两种方法的比较

相同点
  1. 都是获取字符串某个位置的单个字符。

  2. 索引都从0开始。

不同点
  1. 使用charAt(index)的方式,index超出范围的,会返回一个空的字符串
    使用string[index]的方式,index超出范围的,会返回undefined

  2. 可概括为兼容性问题。
    charAtES3的方法,string[index]ES5的方法。所以charAt(index)兼容性强,在IE6~8下也能正常使用。string[index]的方式在IE6~8下会返回 undefined, 也就是IE6~8 不兼容此方法,只能用于IE8+。

  3. string[index]还有一个不便之处,即不容易区分访问的是数组元素还是字符串,而且有可能让人误以为是可写的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值