繁体   English   中英

Internet Explorer是否具有某些无法使用的JS?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM