以下代码行在 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 函数(它自己完美地工作,并且在执行上面的代码时完全加载)。