我在 JS 中有一个带字段的类
Widget = function ()
{
this.Attributes = []; // key=value
}
和另一个继承自的类Widget
BusinessStatisticWidget = function ()
{
// some code
};
BusinessStatisticWidget.prototype = new Widget();
在初始化阶段,我已经为这个 Attributes 字段分配了值(仅一次),并且在某些时候 Atttibutes 字段变为空:
BusinessStatisticWidget.prototype.SetEventsOnControls = function ()
{
var dropDown = document.getElementById(this.DropDownName + this.type + "Id");
var _this = this; // **Not empty here**
dropDown.addEventListener("change", function (event)
{
// **Not empty even here**
_this.CalculateAndSetTimeRangeForTimeSpan(event.target.value);
}, false);
}
BusinessStatisticWidget.prototype.CalculateAndSetTimeRangeForTimeSpan = function (val)
{
// **Empty here**
if (this.Attributes["fromDate"].value != '' && this.Attributes["toDate"].value != '')
{}
}
上面的代码在 Chrome 和 IE10 中运行良好(我的意思是数组不为空)但在 Firefox(20.0.1)中不起作用
由于数组是空的,我得到TypeError: this.Attributes.fromDate is undefined.
而且我不知道它为什么是空的以及如何解决这个问题。