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

Cant access class object variable of javascript in IE and Mozilla

本文关键字:javascript 对象 变量 Mozilla 访问 IE      更新时间:2023-09-26

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

如果您得到data未定义,那么您的问题是您要传递给GetTableDataClassitem的值是未定义的。你必须注意,在 JavaScript 中,undefined 是一个变量可以具有的值(就像 C# 中的null一样)。

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