如何运行JS文件以及我的运行原因

时间:2014-03-27 14:09:26

标签: javascript quadratic

所以我刚刚开始学习JS,并且在代码学院的课程中途。可悲的是我的考试介于两者之间,所以我忘记了很多我学到的东西,所以我决定创建一个程序,一个非常简单的程序,以便让我记忆犹新。现在我用谷歌搜索了如何运行一个js doc,它给了我这个:FYI,我试图在CA上使用项目构建器,我目前正在使用WebStorm作为我的IDE。 (在html文件中)

<!DOCTYPE html>

<head>
    <script language ="javascript" src ="code.js"/>
    <script language ="javascript">
            main();
        }
    </script>
    <title>Equation Solver</title>
</head>
<body>

</body>
</html>

我的功能名称是主要的,我基本上告诉它使用js并调用该函数。 html文件和代码文件都在同一个文件夹中。我正在进行的程序是二次/线性方程求解器,我只使用二次方程式[{-b±√(b²-4*a*c)}/2]来完成二次方部分,其中方程是ax²+bx+c=0形式。

所以代码,它甚至没有运行。我包括这个因为也许我误写了代码或其他东西。:

var main =function(){//Linear in 2 start
    var choice = prompt("Choose your type of equation : Type 1 for linear in 2 variables, 2 for quadratic in one variable ");
    if(choice =1){
        alert("we are currently working on this feature, please select 2, or wait for an update :)");
    }//linear in 2 end
    else if(choice = 2){//quadratic start
        alert("the equation is of the form : ax^2 + bx + c = 0 , only input the coefficients i.e - the value of ax^2 is a, or the value of bx is b, not bx. The value of b for the equation 5x^2 + 7x +3 is 7, not 7x");
        var a =  prompt("Put in the value of a");//declaring variables
        var b =  prompt("Put in the value of b, if the bx part of the equation doesn't exist, input 0. Ex for equation 2x^+6=0 , b =0, since its technically 2x^2 + 0b + 6 = 0");
        var c =  prompt("Put in the value of c, if the c part of the equation doesn't exist, input 0. Ex for equation 2x^+6x=0 , c =0, since its technically 2x^2 + 6b + 0 = 0");
        var D = ((b*b)-(4*a*c));//computing discriminant
        if(D < 0){
            alert("The quadratic equation doesn't have real roots; the closest value is : " + (-b/2) +"i/2");
        }
        else{
            root1 = (-b+D)/(2*a);
            root2 = (-b-D)/(2*a);
        }
        if(D=0){
            console.log("Both roots are equal, their value is " + root1);
            alert("Both roots are equal, their value is " + root1);
        }
        else if ( D > 0){
            console.log("The roots of the equation are: " + root1 + root2);
            alert("The roots of the equation are: " + root1 + root2 );
        }

    }//quadratic end

}

main();

var again = confirm("wanna solve another equation?");

if(again = true){
    main();
}

不确定我做错了什么。任何帮助表示赞赏:D。谢谢你们。

2 个答案:

答案 0 :(得分:2)

<script>标记不是自闭标记,它有开始或结束标记

错误的方式

<script language ="javascript" src ="code.js"/>

你应该像这样添加javascript文件

<script language ="javascript" src ="code.js">  </script>
//---------------------------------add closing tag---^

Smeegs 指出

=不是比较,而是赋值运算符。

应该是

if(again == true){

而不是

if(again = true){

答案 1 :(得分:0)

您的代码中存在一些错误。

不要使用脚本标记的语言属性,而是使用type="text/javascript"。 第一个<script>标记缺少结束标记。 在调用{

之后,第二个有一个随机main();

这是你应该怎么做的:

<script type="text/javascript" src ="code.js"></script>
<script type="text/javascript">
        main();
</script>

在每个条件中你都使用了错误的运算符。 在JavaScript(和许多其他语言)中,=运算符用于赋值,而不是用于比较。 因此,如果您撰写if (x = 1) {...},则实际上将x设置为值1。 使用==运算符测试是否相等。

if(choice == 1){
...
if(D == 0){
...
if (again == true) {
....