Почему этот объектный код javascript не работает? - PullRequest
0 голосов
/ 28 декабря 2010
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 ]

3 голосов
/ 28 декабря 2010

Конструктор Object не работает так.Вместо этого используйте литерал объекта.

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

Дополнительно house.i будет ссылаться на свойство i, а не на свойство с именем, хранящимся в строке i, вам нужно house[i].

2 голосов
/ 28 декабря 2010

фигурные скобки:

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

Редко возникает необходимость (на самом деле я не могу придумать причину) использовать явный вызов конструктора объекта; просто используйте {} для нового, простого, пустого экземпляра Object и [] для нового, простого, пустого экземпляра Array. Для объектов с начальными свойствами используйте синтаксис «имя: значение», как вы это делали (за исключением фигурных скобок).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...