为什么此对象的属性未定义?使用Javascript

时间:2013-08-24 11:30:22

标签: javascript

属性是这种形式的对象:

   var attribute = {
    AttributeId: attributeId,
    EntityId: entityId,
    AttributeDBName: attributeDbName,
    AttributeDisplayName: attributeDisplayName,
    IsSearchable: isSearchable,
    IsDeleted: isDeleted,
    IsVisible: isVisible,
    AttributeTypeId: attributeTypeId,
    Description: description,
    IsSystem: isSystem,
    IsActive: isActive,
    IsUnique: isUnique,
    IsRequired: isRequired,
    IsPersistent: isPersistent,
    DefaultValue: defaultValue
};

该属性随后将与网格ID一起传递给此函数:

function AddAttributeToGrid(attribute, gridId) {

    console.log(attribute); //Works! Displays the attribute.

    var id = a.attributeId;

    console.log(id);//UNDEFINED? WHAT?   

}

如果我创建一个全局变量(我们称之为'tempAttribute')并将其设置在AddAttributeToGrid中,如下所示:

 function AddAttributeToGrid(attribute, gridId) {
    tempAttribute = attribute
}

然后我可以访问tempAttribute的属性...

为什么我无法从属性中获取数据? 发生了什么事?

2 个答案:

答案 0 :(得分:3)

attribute的属性为AttributeId,而不是attributeId

JavaScript区分大小写。

但是这假定您使用定义的attributeId初始化您的对象以开始。这在你的代码中并不清楚。

答案 1 :(得分:1)

我认为你有

var id = a.attributeId;

而不是

var id = attribute.AttributeId;

AddAttributeToGrid函数定义