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

Why are the properties of this object undefined? Javascript

本文关键字:属性 Javascript 对象 未定义 为什么      更新时间:2023-09-26

属性是一个如下形式的对象:

   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的属性。。。

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

attribute的属性是AttributeId,而不是attributeId

JavaScript区分大小写。

但这是假设您首先使用定义的attributeId初始化了对象。这在您的代码中并不清楚。

我想你有

var id = a.attributeId;

而不是

var id = attribute.AttributeId;

AddAttributeToGrid函数定义内部