The additional features consist of a magic .length property that keeps track of the number of items in the array and a whole slew of methods for operating on the array such as .push(), .pop(), .slice(), .splice(), etc... You can see a list of array methods 给你.
对象使您能够将属性名与值关联,如下所示:
var x = {};
x.foo = 3;
x["whatever"] = 10;
console.log(x.foo); // shows 3
console.log(x.whatever); // shows 10
array["0"] === "hello"; // This is true
array["hi"]; // undefined
array["hi"] = "weird"; // works but does not save any data to array
array["hi"]; // still undefined!
这是因为 JavaScript 中的所有内容都是一个 Object (这就是为什么您还可以使用 new Array()创建一个数组)。结果,数组中的每个索引都被转换成一个字符串,然后存储在一个对象中,所以数组只是一个对象,不允许任何人存储任何非正整数的键。
那么,对象是什么呢?
JavaScript 中的对象就像数组一样,但是“ index”可以是任何字符串。
var object = {};
object[0] = "hello"; // OK
object["hi"] = "not weird"; // OK
在处理对象时,您甚至可以选择不使用方括号!
console.log(object.hi); // Prints 'not weird'
object.hi = "overwriting 'not weird'";