Ven*_*kat 37 javascript arrays declaration object javascript-objects
声明JavaScript数组时"{}"和"[]"之间有什么区别?通常我会声明
var a=[];
Run Code Online (Sandbox Code Playgroud)
声明数组的含义是什么? var a={}
jfr*_*d00 65
似乎没有人解释数组和对象之间的区别.
[] 正在声明一个数组.
{} 宣布一个对象.
数组具有具有附加功能的对象的所有功能(您可以将数组视为对象的子类),其中在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
Run Code Online (Sandbox Code Playgroud)
可以通过x.foo语法或类似数组的语法访问对象属性x["foo"].后一种语法的优点是您可以使用变量作为属性名称,x[myvar]并使用后一种语法,您可以使用包含Javascript在x.foo语法中不允许的字符的属性名称.
属性名称可以是任何字符串值.
数组是一个对象,因此它具有对象的所有相同功能以及一系列附加功能,用于管理从某个长度开始并上升到某个长度的有序,顺序的编号索引列表0.数组通常用于通过数字索引访问的有序项目列表.并且,由于数组是有序的,因此有许多有用的功能可以管理列表的顺序.sort()或添加或删除列表中的内容.
Rol*_*wal 10
当你申报时
var a=[];
Run Code Online (Sandbox Code Playgroud)
你正在声明一个空数组.
但是当你宣布时
var a={};
Run Code Online (Sandbox Code Playgroud)
你正在声明一个对象.
尽管Array在Javascript中也是Object,但它是数字键配对值.其中具有对象的所有功能但添加了一些数组的方法,如Push,Splice,Length等.
因此,如果您需要使用数字键的某些值,请使用Array.否则使用对象.你可以创建像这样的对象:
var a={name:"abc",age:"14"};
Run Code Online (Sandbox Code Playgroud)
并且可以访问像这样的值
console.log(a.name);
Run Code Online (Sandbox Code Playgroud)
var a = [];
Run Code Online (Sandbox Code Playgroud)
它用于简单值数组的括号。例如。
var name=["a","b","c"]
var a={}
Run Code Online (Sandbox Code Playgroud)
也可用于值数组和对象/属性。例如。
var programmer = { 'name':'special', 'url':'www.google.com'}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78669 次 |
| 最近记录: |