2012-08-22 59 views
1

這很簡單,但我不知道我錯在哪裏。您能否讓我知道我如何使用返回的數據。我一直在呼叫 favorites[0].name但我沒有得到任何迴應。如何訪問此數組?

person.favourites=function(){ 
     return [ 
      { 
      'name'= 'Gmail', 
      'link'= 'www.gmail.com' 
      }, 
      { 
       'name': 'Facebook', 
       'link': 'www.facebook.com' 
      } 
     ]; 
    }; 
+0

你可以顯示你的電話收藏夾的方法? –

+0

您在訪問時正在使用'favorites [0] .name',而它被定義爲'person.favourites'。還是它是一個錯字?你能展示更多的代碼嗎? – naiquevin

+0

您是否稱過「收藏夾[0] .name」或「favOrites [0] .name」? – zessx

回答

0

您需要通話你的功能,採用person.favourites(),而不是用person.favourites引用它:

console.log(person.favourites()[0].name); 
+0

這也適用。謝謝 – user1469174

4

favorites不是數組,而是返回數組的函數。你需要調用它:

var x = person.favourites(); 
alert(x[0].name) // gmail 
alert(x[1].link) // www.facebook.com 

你也可以改變你的定義:

person.favourites = [ 
    { 
     'name'= 'Gmail', 
     'link'= 'www.gmail.com' 
    }, 
    { 
     'name': 'Facebook', 
     'link': 'www.facebook.com' 
    } 
]; 

這樣一來你可以訪問person.favourites[0].name,例如。

+0

謝謝,我只是需要調用,因爲你展示,它完美的作品。 – user1469174

+0

完美。非常感謝大衛 – user1469174

0

如果你真的想你可以在分配的過程中調用它的annonymous函數創建person.favourites

person.favourites=(function(){ 
     return [ 
      { 
      'name': 'Gmail', 
      'link': 'www.gmail.com' 
      }, 
      { 
       'name': 'Facebook', 
       'link': 'www.facebook.com' 
      } 
     ]; 
    })(); 
+0

非常感謝。完美的作品 – user1469174