我不知道这是否是IE8中的已知问题,但我无法找到任何相关信息。
// The regex can vary but has to have a non-matching group defined:
var re = /^(\s)?[\d]+$/i;
// We call it with a string...
re.exec("2");
// We call it with a number...
re.exec(2);
Firefox和Chrome(目前无法在Opera中试用)对于这两种调用都没有问题。但是在IE8上,第二次调用失败,“对象不支持该属性或方法”。
这是一个已知的错误还是什么?
答案 0 :(得分:1)
由于exec采用字符串,我会确保你传递一个字符串。通过传递一个数字,我会说你试图依靠浏览器实现javascript的方式的灰色区域。
答案 1 :(得分:1)
我在Ext JS 4应用程序中看到了同样的问题。很多东西都失败了,因为Ext JS似乎有时会在exec()方法中传递数字。问题原来是第三方库SyntaxHighlighter。删除它还原了默认的IE8行为和re.exec(2);工作
我建议您删除应用程序中包含的外部JS,直到找到罪魁祸首为止。