所以我刚刚开始学习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。谢谢你们。
答案 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) {
....