Javascript计算器中的平方根未显示

Javascript计算器中的平方根未显示,javascript,calculator,Javascript,Calculator,我做javascript计算器已经有一段时间了,我可以得到所有的基本函数和pow()函数,但是我不能让它做Math.sqrt()函数。我这几天一直有这个问题。这是我的代码,提前感谢: function calc() { var D = ""; var A = document.getElementById("num1").value; var B = document.getElementById("op").value; var C = document.get

我做javascript计算器已经有一段时间了,我可以得到所有的基本函数和pow()函数,但是我不能让它做Math.sqrt()函数。我这几天一直有这个问题。这是我的代码,提前感谢:

function calc()
{
    var D = "";
    var A = document.getElementById("num1").value;
    var B = document.getElementById("op").value;
    var C = document.getElementById("num2").value;
    X = parseInt(A);
    S = 2
    var Z = "If you're seeing this, that means that the code isn't working!!"
    D = eval(A + B + C);
    if (B == "%")
    {
        D = ""
        Z = Math.sqrt(X)*1
    }
    else if (B == "^")
    {
        D = ""
        Z = Math.pow(X, C)
    }
    else if (B == "^2")
    {
        D = ""
        Z = Math.pow(X, S)
    }
    else if (B == "")
    {
        D = "No Operator"
        Z = ""
    }
    document.getElementById("result").value = D;
    document.getElementById("sqrt-result").value = Z;       
    return false;
}

我刚刚测试过,你的代码运行良好。我的假设是,您正在尝试使用平方根功能,而不是将任何内容放入
num2
,这对于计算数字的平方根来说似乎很自然。但是,如果您打开错误控制台,您会注意到
eval
不喜欢在运算符之后尝试计算某个值而不计算任何值。我的建议是将
eval
移动到
if
s的下方,以便仅在需要时使用它

function calc()
{
    var D = "";
    var A = document.getElementById("num1").value;
    var B = document.getElementById("op").value;
    var C = document.getElementById("num2").value;
    X = parseInt(A);
    S = 2
    var Z = "If you're seeing this, that means that the code isn't working!!"
    if (B == "%")
    {
        Z = Math.sqrt(X)*1
    }
    else if (B == "^")
    {
        Z = Math.pow(X, C)
    }
    else if (B == "^2")
    {
        Z = Math.pow(X, S)
    }
    else if (B == "")
    {
        D = "No Operator"
        Z = ""
    } else {
        // Only do this if not doing any of the above calculations
        D = eval(A + B + C);
    }
    document.getElementById("result").value = D;
    document.getElementById("sqrt-result").value = Z;       
    return false;
}

使用的变量名有点难理解-这是最小化代码吗?原版在哪里?这是用于计算器功能的所有Javascript,它根本没有最小化。。。我有这么多的变量从以前的尝试在修复代码。。。很抱歉,我在编辑代码时忘记了做一些事情。谢谢,我想Dreamweaver CS4在代码方面有问题。