动态对象属性的JavaScript(dynamic object properties javasc

2019-10-29 08:58发布

有这个代码块的问题:

var name = "";
var nutrients = {};
var tds = document.getElementById('data').getElementsByTagName('td');

name = tds[0].innerHTML;
nutrients[name].val = tds[1].innerHTML;
alert(nutrients.Energy.val);

如果我拿出.val上两条线,代码工作。 我试图通过从表中提取的信息动态创建的“营养素”下贱。 “能源”,和所有50名营养必须有一个“价值”和“单位”属性。 最终,这将是一个循环。

谢谢你的帮助

Answer 1:

当试图分配

nutrients[name].val = tds[1].innerHTML;

nutrients对象仍然是空的,并且nutrients["Energy"]或其他)是不确定的; 抛出异常时beeing分配的属性。 相反,使用

nutrients[name] = {
    val: tds[1].innerHTML
};


文章来源: dynamic object properties javascript