【问题标题】:self-reference within declaration of a structured javascript variable结构化 javascript 变量声明中的自引用
【发布时间】:2010-11-01 23:31:24
【问题描述】:

假设我像这样声明一个结构化的 Javascript 变量:

var mydata = {'list':[
{'fname':'george','lname':'washington'}
,{'fname':'oscar','lname':'wilde'}
,{'fname':'james','lname':'polk'}
]
,'summary':this.list[1]['lname']
}

问题:我怎样才能确保

this.list[1]['lname']

等于“狂野”,我的“this”实际上是指 我的意图是什么?

【问题讨论】:

  • 注意:我记得实际上看到有人在堆栈溢出答案中做这样的事情并说“啊哈!”对我自己来说,但我不记得帖子的网址了。
  • 您可能正在参考以下帖子之一:stackoverflow.com/search?q=javascript+aha
  • 嘿...这很有趣^_^

标签: javascript json oop variables


【解决方案1】:

这不会像写的那样工作,但你可以这样做:

var mydata = {'list':[
{'fname':'george','lname':'washington'}
,{'fname':'oscar','lname':'wilde'}
,{'fname':'james','lname':'polk'}
]
}   

mydata.summary = mydata.list[1]['lname'];

【讨论】:

    【解决方案2】:

    您也可以在函数中进行这项工作。

    var mydata = {'list':[
    {'fname':'george','lname':'washington'}
    ,{'fname':'oscar','lname':'wilde'}
    ,{'fname':'james','lname':'polk'}
    ]
    ,'summary':function(){return this.list[1]['lname']}
    }
    
    alert(mydata.summary());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-19
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      相关资源
      最近更新 更多