什么是在javascript中调用{}的列表?

NoW*_*een 1 javascript list

var my = {};

my["1"] = "tom";

my["2"] = "tony";

document.writeln(my["2"]);
Run Code Online (Sandbox Code Playgroud)

一个简单的问题,{}被称为什么?我知道[]被称为arraylist,我可以对其执行my.indexOf()等,但这不适用于{}.

我在哪里可以找到我可以使用{}列表执行的操作列表

jfr*_*d00 5

{} 被称为对象并在您的声明中:

var my = {};
Run Code Online (Sandbox Code Playgroud)

您只是创建一个空对象,然后可以向其添加属性.

可以使用[x]语法访问数组和对象.数组最适合使用数字索引进行顺序访问,如下所示:

x[1]
x[2]
Run Code Online (Sandbox Code Playgroud)

对象最适合使用非顺序字符串索引进行访问,例如:

my["autoSaveTime"]
my.autoSaveTime
Run Code Online (Sandbox Code Playgroud)

有些人还将对象视为哈希表或关联数组,因为它们通常可以用于与其他编程结构类似的目的.

按照您在您的评论提出的问题,数组有样性质.length等方法.push().pop().物体没有.MDN是关于此类事物的参考信息的良好来源.这是关于数组方法MDN页面,这里是关于使用对象的一个很好的概述.

对象没有这些方法.由于对象没有对它们的命令,您只需分配给它们或读取它们或迭代它们或删除属性,因为不需要尝试更改它们与数组的顺序.

var x = my.autoSaveTime;
my.autoSaveTime = 200;
for (var key in my) {
    var item = my[key];
    // do something with item or key here
}
Run Code Online (Sandbox Code Playgroud)

要理解的一个棘手的事情是,Array实际上是从Object派生的,并添加了额外的数组功能.也就是说,数组也可以包含任意字符串命名属性(如对象),并具有对象具有的所有通用方法.对象没有数组功能和方法.因此,数组是对象的超集.