学习:JS中数组和对象的之间的关联、区别

在jscript中数组和对象几乎相同,两者主要的差别是对象没有自动长度属性,而数组没有对象的属性和方法。

数组寻址

使用方括号"[]"来寻址数组。方括号中是一个数值或一个值为整数的表达式。

将对象作为关联数组

通常,使用点运算符“.”访问对象的属性。例如,

myObject.aProperty

在这里,属性名称是一个标识符。

也可以用索引运算符“[]”访问对象的属性。在这里是把对象看作是一个关联数组。

关联数组是一种数据结构,它可以动态地将任意的数据的值与任意的字符串相关联。例如,

myObject["aProperty"] // 与上面相同。

尽管索引运算符更多的用于访问数组元素,当用于对象时,索引总是以字符串文字来表示属性名称

运算符 属性名称作为 对属性名称的处理
点“.” 标识符 不能作为数据处理
索引“[]” 字符串文字 被作为数据处理

 

在运行之前并不知道属性名称时,这个差异会有用(比如基于用户输入构造对象时)。要想从一个关联数组提取所有的属性,必须用 for … in 循环。

你可能感兴趣的:(javascript,JS中数组和对象的之间的关联,区别)