0

使用 Internet Explorer 8 运行以下代码时出现错误:

for (var lang_elem in this.langElems) {
    if (this.langElems.hasOwnProperty(lang_elem)) {  // ignore attributes down the prototype chain
        var www1 = this.langElems[lang_elem].length;
        var xxx1 = line.substr(0, www1);
        var yyy1 = this.langElems[lang_elem];

        if (xxx1 == yyy1) {
            elem_type = lang_elem;
            break;
        }
    }
}

调试器停在定义 xx1 的行(我显然为调试目的定义了这三个变量),并显示以下消息:

Unterbrechung bei JScript-Laufzeitfehler - Das Objekt unterstütz diese Eigenschaft oder Methode nicht。

这转化为

在 JScript 运行时错误处中断 - 对象不支持属性或方法。

我查过了,但据我所知,IE8 应该支持 substr 方法。我用line.substr(0,2)调用它,它应该可以工作(没有负参数)。

有谁知道为什么会显示此错误?

4

1 回答 1

1

你确定这line是一个字符串吗?这通常是当变量为空或未定义时出现的消息。尝试console.log(line);在调用 substr 之前粘贴 a。我也看不到它在您的示例中定义,但您可能只是错误地修剪了它。

于 2013-10-30T16:30:36.420 回答