1

这很简单,但我不知道我哪里出错了。您能否让我知道我如何使用返回的数据。我一直在打电话 favorites[0].name,但我没有得到任何回应。

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

3 回答 3

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

于 2012-08-22T13:21:34.650 回答
0

你需要调用你的函数,使用person.favourites(),而不是引用它person.favourites

console.log(person.favourites()[0].name);
于 2012-08-22T13:22:52.080 回答
0

如果您真的想person.favourites使用匿名函数创建您的函数,可以在分配期间调用它:

person.favourites=(function(){
       return [
           {
             'name': 'Gmail',
             'link': 'www.gmail.com'
           },
           {
              'name': 'Facebook',
              'link': 'www.facebook.com'
           }
       ];
    })();
于 2012-08-22T13:38:02.817 回答