【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]另有一个不方便的地方,即不容易辨别接见的是数组元素照样字符串,而且有可能让人误以为是可写的。

    原文作者:Tammy
    原文地址: https://segmentfault.com/a/1190000007276311
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞