无法在IE和Mozilla中访问javascript的类对象变量

时间:2012-06-17 18:06:24

标签: javascript jquery

我在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中获取数据未定义。请让我知道任何建议。

1 个答案:

答案 0 :(得分:0)

如果您得到data未定义,则问题是您传递给item的{​​{1}}的值未定义。您必须注意,JavaScript中GetTableDataClass是一个变量可以拥有的值(就像C#中的undefined一样。)

如果从数组中获取null,请确保您获得的索引存在。如果索引不存在,它将返回item。 (例如:undefined这会提醒var a = [1,2,3]; alert(a[3]))。