注册 登录
编程论坛 JavaScript论坛

js数组竟然可以是字符串

菁椥 发布于 2016-11-04 17:04, 3651 次点击
第一次知道jS的数组下标可以是字符串 求大神告知Js与PHP或者是其他语言的区别  为什么可以是字符串做下标呢?
3 回复
#2
玄剑2016-11-10 15:07
JavaScript 中访问对象成员有两个形式:
1、点号——成员运算符
    var str = "abc";
    str.substring( 1, 2 );

2、中括号——我也是成员运算符,中括号括起的字符为 key
    str["substring"]( 1, 2 );

两者均是合法的访问成员形式,点号的形式约束必须是合法的标识符(数字、字母、下划线及美元符号$,且首字符不允许是数字),
因此,str.1 是不合法的。
但中括号的 key 则允许任意类型的值(甚至是对象,但需要注意的是最终会转换成字符串),如数字:
str[1] ===> 得到 'b'

或者用字符串:
str["substring"](1, 2)  ===> 调用 substring 函数

数组也是对象,因此支持中括号这种成员运算符。



[此贴子已经被作者于2016-11-16 15:58编辑过]

#3
菁椥2017-03-22 15:49
回复 2楼 玄剑
嗯嗯
#4
两杆大烟枪2017-08-14 10:52
1