【问题标题】:Adding properties to Javascript Object [duplicate]向Javascript对象添加属性[重复]
【发布时间】:2018-12-04 10:25:11
【问题描述】:

myTable.div 将返回“div_undefined”。当我将div: 'div_' + this.name 更改为div: 'div_' + myTable.name 时,它会抛出一个错误:

未捕获的类型错误:无法读取未定义的属性“名称” 在:3:26

。有什么想法吗?

var myTable = {
   name: 'tablename',
   div: 'div_' + this.name
}
console.log(myTable.div);

【问题讨论】:

  • 添加更多代码以了解this 所指的内容。
  • @AnkitAgarwal 我认为他/她为 myTable 对象引用了this
  • 我们需要更多的上下文。也请说 which 错误被抛出。更好的是,发布完整的复制品。
  • 执行以下操作 var myTable = { name: 'tablename', div: '' } myTable.div='div_'+myTable.name
  • 由@Quentin通过引用link解决

标签: javascript object properties


【解决方案1】:

您可以先声明您的object,然后添加div 属性:

myTable.div = 'div_' + myTable.name;

请记住,objects 始终可以扩展为更多 properties,如果您检查 MDN Object reference,您会看到:

在 JavaScript 中,对象可以看作是属性的集合。使用对象字面量语法,初始化一组有限的属性; 然后可以添加和删除属性

演示:

var myTable = {
  name: 'tablename'
};
myTable.div = 'div_' + myTable.name;
console.log(myTable);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-09
    • 2017-02-10
    • 2013-06-08
    • 2018-04-25
    • 2011-11-09
    • 2013-11-07
    • 1970-01-01
    相关资源
    最近更新 更多