声明 JavaScript 数组时,“{}”和“[]”之间有什么区别?通常我声明像
var a=[];
将数组声明为什么意思 var a={}
声明 JavaScript 数组时,“{}”和“[]”之间有什么区别?通常我声明像
var a=[];
将数组声明为什么意思 var a={}
似乎没有人在解释数组和对象之间的区别。
[]
正在声明一个数组。
{}
正在声明一个对象。
数组具有对象的所有特性以及附加特性(您可以将数组视为对象的子类),其中在 Array 子类中添加了附加方法和功能。事实上,typeof [] === "object"
为了进一步向您展示数组是一个对象。
附加的功能包括一个神奇的.length
属性,跟踪数组中的项目数和方法的阵列,如在操作整体转换的.push()
,.pop()
,.slice()
,.splice()
,等...你可以看到的阵列方法的列表在这里。
对象使您能够将属性名称与值相关联,如下所示:
var x = {};
x.foo = 3;
x["whatever"] = 10;
console.log(x.foo); // shows 3
console.log(x.whatever); // shows 10
可以通过x.foo
语法或类似数组的语法访问对象属性x["foo"]
。后一种语法的优点是您可以使用变量作为属性名称,x[myvar]
并且使用后一种语法,您可以使用包含 Javascript 在x.foo
语法中不允许的字符的属性名称。
属性名称可以是任何字符串值。
数组是一个对象,因此它具有对象的所有相同功能以及一系列附加功能,用于管理从某个长度开始到某个长度的编号索引的有序、顺序列表0
。数组通常用于按数字索引访问的项目的有序列表。而且,因为数组是有序的,所以有很多有用的特性来管理列表的顺序.sort()
或者从列表中添加或删除内容。
当你声明
var a=[];
您正在声明一个空数组。
但是当你声明
var a={};
您正在声明一个 Object 。
虽然 Array 也是 Javascript 中的 Object 但它是数字键配对值。它具有对象的所有功能,但添加了一些数组方法,如 Push、Splice、Length 等。
因此,如果您想要某些需要使用数字键的值,请使用 Array。否则使用对象。您可以创建对象,如:
var a={name:"abc",age:"14"};
并且可以访问像
console.log(a.name);
var a = [];
它用于简单值数组的括号。例如。
var name=["a","b","c"]
var a={}
也用于值数组和对象/属性。例如。
var programmer = { 'name':'special', 'url':'www.google.com'}
可以这样理解:
var a= []; //creates a new empty array
var a= {}; //creates a new empty object
你也可以这样理解
var a = {};
相当于 var a= new Object();
笔记:
当您对集合中元素(相同类型)的顺序感到困扰时,您可以使用数组,否则您可以使用对象。在对象中,不保证顺序。
他们是两个不同的东西..
[]
正在声明一个数组:
给定,由数字索引保存的元素列表。
{}
正在声明一个新对象:
给定,一个带有名称和类型+值的字段的对象,
有些人喜欢将其视为“关联数组”。但在它们的表示中不是数组。
你可以阅读更多@这篇文章