2009-06-10 128 views
2

假設我聲明瞭一個結構化的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'] 

等於「王爾德」和我的「這」實際上是指 到我的意圖?

+0

注意:我記得實際上看到有人在堆棧溢出回答中做了這樣的事情,並說「AHA!」對自己,但我不記得後的網址。 – dreftymac 2009-06-10 22:28:02

回答

5

你也可以做這項工作的功能。

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()); 
5

書面這是不行的,但你可以這樣做:

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

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