我有一个 foreach 循环(使用 MVC3 的 Razor 引擎编写),每次迭代都需要在 Popups 数组中创建一个新对象。这是我要运行的内容:
var popups = [];
var count = 0;
@foreach (var marker in Model) {
<text>
popups[count]["content"] = document.createElement("div");
popups[count]["content"].class = "infobox-custom";
popups[count]["content"].style.cssText = "padding: 5px; width: 600px;";
popups[count]["content"].innerHTML = '<div class="professional"><h1>test</h1></div>';
popups[count]["infobox"] = new InfoBox();
popups[count]["marker"] = new MarkerInfo();
count++;
</text>
}
console.log(popups);
我收到错误:
未捕获的类型错误:无法设置未定义的属性“内容”
如您所见,我试图将每个标记的相关信息封装在一个 javascript 对象中。我的目标是使用类似popups[index].marker
or的东西来访问我需要的一切popups[index].content
。
我正在阅读 Javascript: The Good Parts 这本书,其中有一部分提到:
如果对象还没有该属性名称,则对该对象进行扩充:
我在这里想念什么?