我有这个 JavaScript 代码来格式化一个美元的数字,在 Stackoverflow 上得到了很多赞许。它在最新的网络浏览器中运行良好,但它会导致 JavaScript 在 IE7 中失败。我试图使用不需要 JQuery 的函数,因为该项目的其余部分没有使用它:
function formatDollar(num) {
var p = num.toFixed(2).split(".");
return "$" + p[0].split("").reverse().reduce(function(acc, num, i, orig) {
return num + (i && !(i % 3) ? "," : "") + acc;
}, "") + "." + p[1];
}
IE7 对用户简单地说“页面错误”。在 IE7 的调试模式下,抱怨它不是在 On Click 行上提交的表单的预期对象。如果我删除上述函数并让它传递数字而不格式化它在 IE7 中工作。它还抱怨以第一个“返回”开头的行。我已经从 JavaScript 中删除了所有其他内容,而这个函数是它出现的罪魁祸首。