Javascript 即;错误:对象不存在';“我不支持这一行动”;

Javascript 即;错误:对象不存在';“我不支持这一行动”;,javascript,Javascript,我在IE7中遇到了一个令人沮丧的javascript错误,我无法回避。它在Chrome和Firefox中运行良好,但在IE中却不行 我得到的错误行是:item=listGetAt(list,'1','-') 这将调用以下自定义方法: function listGetAt(list,position,delimiter) { if(delimiter == null) { delimiter = '-'; } list = list.split(delimiter); if(list.len

我在IE7中遇到了一个令人沮丧的javascript错误,我无法回避。它在Chrome和Firefox中运行良好,但在IE中却不行

我得到的错误行是:
item=listGetAt(list,'1','-')

这将调用以下自定义方法:

function listGetAt(list,position,delimiter) {   
if(delimiter == null) { delimiter = '-'; }
list = list.split(delimiter);
if(list.length > position) {
    return list[position];
} else {
    return list.length;
}
}
有人能看到我看不见的东西吗

非常感谢您的帮助

Jason

糟糕的代码

为什么要将字符串作为数字参数传递

我会考虑

function listGetAt(list,position,delimiter) {   
  delimiter = delimiter || '-';
  if (list.indexOf(delimiter) ==-1) return -1;
  list = list.split(delimiter);
  return list.length>=position?list[position]:null;
}

列表
具体包含哪些内容?一直称之为列表是一种糟糕的命名约定——在某个阶段,这将是一种解决问题的方法。。看起来“item”是一个保留字。。当我将变量名更改为“selectedItem”时,它工作得很好。代码仍然很糟糕,不要将“1”传递给函数,而是传递1@Jason
不是保留字感谢阿尔文。。一定是与其他代码冲突了。。但奇怪的是,他们之间发生了冲突。。干杯汉克·姆普伦干。。原来是int。。只是把它放在那里,一边四处玩耍,试图找出IEs的问题是什么,一定是忘了把它删除。尽管如此,这个方法不是问题。。它是接收对它的调用的变量。谢谢你的建议。