JavaScript Object属性始终返回undefined

时间:2013-12-21 07:18:36

标签: javascript azure-mobile-services

告诉我这里缺少什么。我有跟随javascript对象。

[ { id: '16B0C2FC-A008-4E8A-849B-DB1251C8CABD',
    handle: '123',
    userId: 'ABC123'} ]

当我执行以下操作时

success: function (registration) {
                console.log(registration);
                console.log(registration.handle); 

控制台日志按上面的定义写出对象。但是,当我进行registration.handle时,我收到一条错误,上面写着“未定义”。如果注册是上述对象,为什么registration.handle不起作用?

我错过了什么?

5 个答案:

答案 0 :(得分:4)

您有一个包含对象的数组。您尝试访问的属性是对象的成员,而不是数组。

在访问其属性之前,必须先获取对象的引用。

registration[0].handle

答案 1 :(得分:1)

试试这个

var registration=[ { id: '16B0C2FC-A008-4E8A-849B-DB1251C8CABD', handle: '123', userId: 'ABC123'} ]

alert(registration[0].handle)

DEMO

答案 2 :(得分:1)

您正在访问对象的成员。

这样做

success: function(registration) {
        $.each(registration, function(index, data) {
            var handle = data.handle;
            console.log('id is getting now ' + handle);
        });
    }

答案 3 :(得分:1)

是的,您首先需要访问数组元素然后才能找到对象

console.log(registration[0].handle); 

答案 4 :(得分:0)

这是因为你有数组所以要访问它尝试

  registration[0].handle

实施例

案例1

registration =  [ { id: '16B0C2FC-A008-4E8A-849B-DB1251C8CABD', handle: '123', userId: 'ABC123'} ];
console.log(registration[0].handle);

案例2

registration = { id: '16B0C2FC-A008-4E8A-849B-DB1251C8CABD', handle: '123', userId: 'ABC123'};
console.log(registration.handle);