以下代码行在 IE 中导致“JScript object expected”错误:
hideElements.apply(window, elements);
根据 IE 的说法,“预期的 JScript 对象”是指hideElements,这是一个将任意数量的 HTML 对象作为参数并隐藏它们的函数。
具体来说,我通过调用来检索 HTML 对象数组getElementsByTagName,并且我想将此数组作为参数列表传递给函数hideElements。JS 函数apply()正是我在这种情况下所需要的。我知道我当然可以用不同的方式编写我的代码,但是由于这在 Firefox 和 Chrome 上完美运行,并且在技术上是正确的,我真的很想知道为什么 IE 会卡在那里。
我已经确定,当该行执行时:
window不为 null 且类型为Window;elements不为 null 且类型为HTMLCollection; 和hideElements是一个功能齐全的 JS 函数(它自己完美地工作,并且在执行上面的代码时完全加载)。