【发布时间】:2013-10-30 16:27:21
【问题描述】:
使用 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 dieese Eigenschaft oder Methode nicht。
翻译成
在 JScript 运行时中断错误 - 对象不支持该属性或方法。
我查过了,但据我所知,IE8 应该支持 substr 方法。我用 line.substr(0,2) 调用它,它应该可以工作(没有负参数)。
有人知道为什么会显示此错误吗?
【问题讨论】:
-
line尚未在您显示的任何代码中定义。 -
什么是
line?在它之前做一个console.log(typeof line)。输出是什么? -
使用 slice 或 !! strLong.split(strSubStr)[1];
标签: javascript internet-explorer-8