注意:没有 jQuery
我怎么能做这样的事情:
var array = new Array();
array[name] = "Tom";
array[age] = 15;
foreach(array as key=>value){
alert(key + " = " + value);
}
注意:没有 jQuery
我怎么能做这样的事情:
var array = new Array();
array[name] = "Tom";
array[age] = 15;
foreach(array as key=>value){
alert(key + " = " + value);
}
首先,你应该调用它obj
orperson
而不是array
; 数组是一系列相似元素,而不是单个对象。
你可以这样做:
var person = new Object();
person['name'] = "Tom";
person['age'] = 15;
for (var key in person) {
if(!person.hasOwnProperty(key)) continue; //Skip base props like toString
alert(key + " = " + person[key]);
}
您还可以使用属性初始化对象,如下所示:
person.name = "Tom";
person.age = 15;
您还可以使用JavaScript 对象文字语法:
var person = { name: "Tom", age: 15 };
这将适用于您的简单示例场景:
for (var key in array) {
alert(key + " = " + array[key]);
}
对于一般用途,建议您进行测试以确保该属性没有被嫁接到继承链中其他位置的对象上:
for (var key in array) {
if (array.hasOwnProperty(key)) {
alert(key + " = " + array[key]);
}
}
使用 javascript 对象
var object = {};
object.name = "Tom";
object.age = 15;
for ( var i in object ) {
console.log(i+' = '+ object[i]);
}
首先,你不想要一个数组,你想要一个对象。坦率地说,PHP 关于数组构成的想法有点奇怪。
var stuff = {
name: "Tom",
age: 15
};
/* Note: you could also have done
var stuff = {};
stuff.name = "Tom";
stuff.age = 15;
// or
var stuff = {};
stuff["name"] = "Tom";
stuff["age"] = 15;
*/
for (var key in stuff) {
alert(key + " = " + stuff[key];
}
key=0;while(key<array.length) {
alert(key + " = " + array.item(key));
key++;
}