在上篇文章
“js的test()、exec()、match()方法应该这样用!”中我们看到:match()方法返回的匹配数组中除了这些常规的数组元素之外,返回的数组还含有两个对象属性:index 属性声明的是匹配文本的起始字符在 stringObject 中的位置,input 属性声明的是对 stringObject 的引用,这两个对象属性归属于数组元素,但运行结果截图中却看到Array数组却显示只有2个元素:
这就是我们今天要说的非数字索引数组(有网友叫“关联数组”)啦,需要注意的是:
1、数组的非数字索引项是对象的属性,该属性不计入Array的length里面,这个从上面的截图中也能得到印证,上源码:
[runcode]
[/runcode]
[runcode]
[/runcode]
2、数组的非数字索引项是对象的属性,访问方式跟对象字面量一样,源码:
[runcode]
[/runcode]