我在javascript中有一个类,其中我定义了一些属性和方法,我创建了一个数组,并创建了类的实例值并将其推入其中。之后,我迭代了数组并从特定方法检查了属性,但在IE和Mozilla中它显示为未定义。我在下面给出了代码以供您参考。
类别:
function DateDetail(date, isBefore, isAfter, isNow) {
this.Date = date;
this.MonthNo = this.Date.getMonth();
this.DayNo = this.Date.getDate();
this.Year = this.Date.getFullYear();
this.IsAfter = isAfter;
this.IsBefore = isBefore;
this.IsNow = isNow;
this.GetMonthValue = function () {
return this.Date.toString("MMM-yyyy");
};
}
方法
function GetTableDataClass(data) {
if (data.IsAfter)
return "after";
else if (data.IsBefore)
return "before";
else if (data.IsNow)
return "now";
else
return " ";
}
通话方法
GetTableDataClass(item)
我在mozilla和IE中获取数据未定义。请让我知道任何建议。
答案 0 :(得分:0)
如果您得到data
未定义,则问题是您传递给item
的{{1}}的值未定义。您必须注意,JavaScript中GetTableDataClass
是一个变量可以拥有的值(就像C#中的undefined
一样。)
如果从数组中获取null
,请确保您获得的索引存在。如果索引不存在,它将返回item
。 (例如:undefined
这会提醒var a = [1,2,3]; alert(a[3])
)。