4 回答
TA贡献1785条经验 获得超8个赞
终于找到这个知识点的出处了,见这里
对象属性索引
在 JavaScript 1.0 中,你可以通过名称或序号访问一个属性。但是在 JavaScript 1.1 及之后版本中,如果你最初使用名称定义了一个属性,则你必须通过名称来访问它;而如果你最初使用序号来定义一个属性,则你必须通过索引来访问它。
这个限制发生在你通过构造函数创建一个对象和它的属性(就象我们之前通过 Car 对象类型所做的那样)并且显式地定义了单独的属性(如 myCar.color = "red")之时。如果你最初使用索引定义了一个对象属性,例如 myCar[5] = "25",则你只可能通过 myCar[5] 引用它。
这条规则的例外是从与HTML对应的对象,例如 forms 数组。对于这些数组的元素,你总是既可以通过其序号(依据其在文档中出现的顺序),也可以按照其名称(如果有的话)访问它。举例而言,如果文档中的第二个 <form> 标签有一个 NAME 属性且值为 "myForm",访问该 form 的方式可以是 document.forms[1],document.forms["myForm"]或 document.myForm。
var myCar=new Object();
myCar.make="Ford";
myCar.model= "Mustang";
myCar.year = 1969;
myCar["hum"] = 100;
console.log(myCar["0"]);
console.log(myCar["1"]);
console.log(myCar["2"]);
console.log(myCar["hum"]);
console.log(myCar.hum);
添加回答
举报