编程论坛
注册
登录
编程论坛
→
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