javascript字符串单个字符访问方法
作者:Tammy
访问字符串的单个字符
获取字符串的某一单个字符有两种方法。
第一种是使用 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
注意,使用这种类数组的下标索引法,只可以访问字符而不可以对其进行删除或添加,因为对应属性并不是可读或可写的,毕竟类数组不是数组。
两种方法的比较
相同点
- 都是获取字符串某个位置的单个字符。
- 索引都从
0
开始。
不同点
使用charAt(index)
的方式,index
超出范围的,会返回一个空的字符串
。
使用string[index]
的方式,index
超出范围的,会返回undefined
。
可概括为兼容性问题。
charAt
是ES3
的方法,string[index]
是ES5
的方法。所以charAt(index)
兼容性强,在IE6~8下也能正常使用。string[index]
的方式在IE6~8下会返回 undefined
, 也就是IE6~8 不兼容此方法,只能用于IE8+。
用string[index]
还有一个不便之处,即不容易区分访问的是数组元素还是字符串,而且有可能让人误以为是可写的。
以上就是javascript字符串单个字符访问方法的详细内容,更多关于javascript访问单个字符的资料请关注脚本之家其它相关文章!