我最近开始学习JavaScript,并决定创建一个程序来计算二次函数。程序本身较长,并且以标准形式ax ^ 2 + bx + c表示三个用户输入(secondnum,firstnum,thirdnum)表示a,b,c。程序正常运行,直到这段代码。
function discriminant(secondnum,firstnum,thirdnum) {
var disc = Math.sqrt(Math.power(secondnum,2)-(4*firstnum*thirdnum));
return disc;
}
ans1 = ((-1*secondnum) + disc)/(2*firstnum);
ans2 = ((-1*secondnum) - disc)/(2*firstnum);
window.alert(ans1);
window.alert(ans2);
我对这段代码的意图是创建一个求解判别式的函数,然后使用二次公式中的判别式。我认为判别函数有些不正确。这是在函数中使用用户输入的正确方法吗? 我希望这个问题不太具体。
此外,如果重要的是我如何收集(secondnum)
的用户输入的示例var secondnum = prompt ("enter b");
while (isNaN(secondnum) || secondnum == "") {
var secondnum = prompt ("enter a different b");
}
提前谢谢。
答案 0 :(得分:0)
我对数学不是100%肯定,但从语法上来说我认为你正在尝试做这样的事情
function discriminant(secondnum,firstnum,thirdnum) {
var disc = Math.sqrt(Math.pow(secondnum,2)-(4*firstnum*thirdnum));
return disc;
}
ans1 = ((-1*secondnum) + discriminant(firstnum, secondnum, thirdnum))/(2*firstnum);
ans2 = ((-1*secondnum) - discriminant(firstnum, secondnum, thirdnum))/(2*firstnum);
window.alert(ans1);
window.alert(ans2);
这将至少让您的提醒框工作,只要在此块执行之前声明firstnum
,secondnum
和thirdnum