为什么这个javascript对象代码不起作用?

时间:2010-12-28 17:53:51

标签: javascript object for-loop

var house = new Object(floors: "4", color:"red", windows:"lots", bathrooms:"3");
var result ="";
for (var i in house)
{
    result +="house." + i + " is " + house.i + ".<br />";
}
document.body.innerHTML += result;

我想输出house.floors is 4.<br />house.color is red.<br />等等。

2 个答案:

答案 0 :(得分:3)

Object构造函数不能像那样工作。改为使用对象文字。

var house = { floors: "4", color:"red", windows:"lots", bathrooms:"3" }

此外,house.i将引用i属性,而不是名称存储在字符串i中的属性,您需要house[i]

答案 1 :(得分:2)

括号:

var house = {floors: "4", color:"red", windows:"lots", bathrooms:"3"};

很少需要(事实上我无法想到一个原因)使用显式的Object构造函数调用;只需使用{}表示新的普通空对象实例,使用[]表示新的普通空数组实例。对于具有初始属性的对象,请使用“name:value”语法(如大括号中所示)。