代码之家  ›  专栏  ›  技术社区  ›  dreftymac

结构化javascript变量声明中的自引用

  •  2
  • dreftymac  · 技术社区  · 15 年前

    假设我声明一个这样的结构化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']
    

    等于“王尔德”,我的“这个”实际上是指 我的目的是什么?

    2 回复  |  直到 15 年前
        1
  •  5
  •   Jose Basilio    15 年前

    您也可以在函数中实现这一点。

    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());
    
        2
  •  5
  •   Jonathan Fingland    15 年前

    这不会像书面的那样有效,但你可以做到:

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