javascript创建一个具有options属性的对象,该proerty具有一个长度

时间:2015-05-18 14:29:50

标签: javascript arrays object

问题我有一个列表控件,在网页上可能有也可能没有(可见)。新的jscript所以: 如果由于用户选项而隐藏控件,则jscript错误包含: 未捕获的TypeError:无法读取属性' length'未定义的 对于一些否则将处理可选列表控件的代码

我有一个班级:

function EmptyList()
{
this.options = [];
return this.options;
}

我分配了

dropdownlist = document.getElementById("<%=optionalList.ClientID%>");
if (dropdownlist == 'undefined') {
  // hidden so does not exist client side
  // give it the right type but never call it
  dropdownlist = new EmptyList();
 }
else if (dropdownlist == null) {
  // hidden so does not exist client side
  // give it the right type but never call it
  dropdownlist = new EmptyList();
 }

我曾经有一个错误,说无法读取选项......所以这似乎是正确的方向,但我认为所有数组都有一个长度......

由于

1 个答案:

答案 0 :(得分:0)

通过将空对象的定义更改为:

来解决问题
   function EmptyList()
    {
        var self = this;
        self.options = [];
        self.options.length = 0;  
    }

这创建了(使用新关键字)一个具有两个&#39;选项的对象变量&#39;作为一个数组属性和&#39;长度&#39;作为数组的属性。该脚本现在可以正常运行并解析选项和options.length