javascript中带有{}的列表称为什么?

javascript中带有{}的列表称为什么?,javascript,list,Javascript,List,一个简单的问题,{}叫什么?我知道[]被称为arraylist,我可以对它执行.indexOf()等操作,但这不适用于{} 在哪里可以找到我可以使用{}{}执行的操作列表,该列表称为对象,在您的声明中: var my = {}; my["1"] = "tom"; my["2"] = "tony"; document.writeln(my["2"]); 您只是在创建一个空对象,然后可以向其中添加属性 可以使用[x]语法访问数组和对象。数组最好用于数字索引的顺序访问,如中所示: var my

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


在哪里可以找到我可以使用{}

{}
执行的操作列表,该列表称为对象,在您的声明中:

var my = {};

my["1"] = "tom";

my["2"] = "tony";

document.writeln(my["2"]);
您只是在创建一个空对象,然后可以向其中添加属性

可以使用
[x]
语法访问数组和对象。数组最好用于数字索引的顺序访问,如中所示:

var my = {};
对象最好用于具有非顺序字符串索引的访问,例如:

x[1]
x[2]
有些人还将对象视为哈希表或关联数组,因为它们通常可以用于与其他编程构造类似的用途

根据您在评论中提出的问题,数组具有
.length
等属性和
.push()
.pop()
等方法。对象不会。MDN是一个很好的参考信息源。这是一张照片,这是一张照片

对象没有这些方法。由于对象对它们没有顺序,您只需对它们赋值、读取、迭代或删除属性,因为不需要尝试更改它们对数组的顺序

my["autoSaveTime"]
my.autoSaveTime

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

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

var my = {};

my["1"] = "tom";

my["2"] = "tony";

document.writeln(my["2"]);
您只是在创建一个空对象,然后可以向其中添加属性

可以使用
[x]
语法访问数组和对象。数组最好用于数字索引的顺序访问,如中所示:

var my = {};
对象最好用于具有非顺序字符串索引的访问,例如:

x[1]
x[2]
有些人还将对象视为哈希表或关联数组,因为它们通常可以用于与其他编程构造类似的用途

根据您在评论中提出的问题,数组具有
.length
等属性和
.push()
.pop()
等方法。对象不会。MDN是一个很好的参考信息源。这是一张照片,这是一张照片

对象没有这些方法。由于对象对它们没有顺序,您只需对它们赋值、读取、迭代或删除属性,因为不需要尝试更改它们对数组的顺序

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

一个“对象” 一个“对象”

具体来说,这种情况下的
{}
表示对象文字符号。这是语言的一种句法特征,是创建
对象的一种方式

这个

var x = my.autoSaveTime;
my.autoSaveTime = 200;
for (var key in my) {
    var item = my[key];
    // do something with item or key here
}
…只是创建一个不直接拥有任何属性的对象

可以使用相同的对象文字语法立即提供对象属性

var my = {};
创建空对象的等效代码是使用
对象
构造函数

var my = {
    '1': 'tom',
    '2': 'tony'
};
您应该知道JavaScript中的对象是无序的。在枚举对象时,您为其提供的数字索引不能保证任何排序。要获得一个有序循环,您需要获得一个键数组,对它们进行排序,然后迭代该数组

例如

var my = new Object();
var my_keys=Object.keys(my);
my_keys.sort(功能a、b){
返回a-b;
});
对于(var i=0;i
具体来说,这种情况下的
{}
表示对象文字符号。这是语言的一种句法特征,是创建
对象的一种方式

这个

var x = my.autoSaveTime;
my.autoSaveTime = 200;
for (var key in my) {
    var item = my[key];
    // do something with item or key here
}
…只是创建一个不直接拥有任何属性的对象

可以使用相同的对象文字语法立即提供对象属性

var my = {};
创建空对象的等效代码是使用
对象
构造函数

var my = {
    '1': 'tom',
    '2': 'tony'
};
您应该知道JavaScript中的对象是无序的。在枚举对象时,您为其提供的数字索引不能保证任何排序。要获得一个有序循环,您需要获得一个键数组,对它们进行排序,然后迭代该数组

例如

var my = new Object();
var my_keys=Object.keys(my);
my_keys.sort(功能a、b){
返回a-b;
});
对于(var i=0;i
。。。你应该多读一点。好的,谢谢。全新的编码。。。你应该多读一点。好的,谢谢。在编码方面非常新。哦,我在哪里可以找到对象的属性列表,如Push、Pop、Length()?我在答案中添加了对数组方法的引用。哦,我在哪里可以找到对象的属性列表,如Push、Pop、Length()?我在答案中添加了对数组方法的引用。