【问题标题】:Why is this javascript object code not working?为什么这个 javascript 对象代码不起作用?
【发布时间】:2010-12-28 17:53:50
【问题描述】:
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.&lt;br /&gt;house.color is red.&lt;br /&gt;等等。

【问题讨论】:

    标签: javascript object for-loop


    【解决方案1】:

    Object 构造函数不是这样工作的。请改用对象字面量。

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

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

    【讨论】:

      【解决方案2】:

      大括号:

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

      很少需要(事实上我想不出理由)使用显式的 Object 构造函数调用;只需将 {} 用于新的、普通的、空的 Object 实例,将 [] 用于新的、普通的、空的 Array 实例。对于具有初始属性的对象,请像您一样使用“name:value”语法(大括号除外)。

      【讨论】:

        猜你喜欢
        • 2012-02-22
        • 2019-01-27
        • 1970-01-01
        • 2013-12-19
        • 2011-01-21
        • 2013-11-02
        • 2018-11-05
        相关资源
        最近更新 更多