[英]Does Internet Explorer have certain JS you can’t use?
我有一个还款计算器,在所有其他浏览器上都可以正常运行,但不能在IE11中运行。
我查看了IE11是否具有某些无法使用的JS,并将我的一些内容更改为var,但是没有运气。
<script>
function loanRepay(){
//Present Value
var pv = (parseFloat((document.getElementById("AB").value).replace(/[&\/\\#,+()$~%'":*?<>{}]/g,''), 10));
//Interest Rate (Compounded Monthly)
var r = ((parseFloat((document.getElementById("IR").value).replace(/[&\/\\#,+()$~%'":*?<>{}]/g,''), 10)) / 100) / 12;
//Number of Compounds in a Period - Compounded monthly
var n = (parseFloat((document.getElementById("TL").value).replace(/[&\/\\#,+()$~%'":*?<>{}]/g,''), 10));
//Payments per Month
var pay = pv * (r / (1 - (1 + r)**-n));
document.getElementById("pay").innerHTML = "$" + pay.toFixed(2);
//Interest Paid
var interest = (pay * n) - pv;
document.getElementById("interest").innerHTML = "Interest Paid $" + interest.toFixed(2);
//Total Payment
var total = interest + pv;
document.getElementById("total").innerHTML = "Total Amount $" + total.toFixed(2);
//if form isn't filled out correctly
if (isNaN(total))
{ alert('Please fill all fields with numerical values before pressing calculate.');} else{};
}
</script>
IE不会引发任何错误,它只是没有运行。 我仍在学习JS,我认为它是非常简单的JS,所以我不确定为什么它没有运行。
幂运算符( **
)是ES2016 +的一项功能,IE 11中不支持此功能。 将此行更改为:
var pay = pv * (r / (1 - Math.pow(1 + r, -n)));
您可以在项目中设置babel及其预设来定位特定的浏览器。 如果这是一个小项目或过于复杂,您可以将代码粘贴到Babel REPL中以获取转码后的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.