我在其中一个 javascript 插件中有一个排序功能,代码看起来像这样:
groups = groups.sort(function (a, b) {
a = a.content.toString().toLowerCase().replace(/\s+/g, '');
b = b.content.toString().toLowerCase().replace(/\s+/g, '');
if(a > b){ //stops and gives error here
return 1;
}
if(a < b){
return -1;
}
return 0;
});
a.content
实际上是一个字符串本身(但只是为了 IE,我.toString()
在代码中也添加了。
在所有其他浏览器上,上面的代码在所有浏览器上运行良好,但在 IE 8 上,上面的代码显示 JavaScript 错误并停止在上面代码中显示的行。控制台在此行显示一条消息“预期数字”。
(有时a.content
这种形式也可能有一些 html ->
"<span>Sample String</span>"
。
不确定这是否会导致 IE8 中的错误,但问题仅出现在此浏览器中)
如何摆脱此错误?