Javascript Math.pow在计算中返回0
我目前正在制作一个计算器,我遇到了一个问题,其中一个函数,特别是x^y,它一直返回0,甚至看起来根本没有运行setInterval,尽管它在没有if函数的情况下运行。fn是它使用的函数,它是x^y,vi只是计算器中的一个工具,用来区分你在反应物中改变的数字,或反应物t2,在这种情况下,反应物是两个相互平方的数字。(这只是代码中有问题的部分)Javascript Math.pow在计算中返回0,javascript,Javascript,我目前正在制作一个计算器,我遇到了一个问题,其中一个函数,特别是x^y,它一直返回0,甚至看起来根本没有运行setInterval,尽管它在没有if函数的情况下运行。fn是它使用的函数,它是x^y,vi只是计算器中的一个工具,用来区分你在反应物中改变的数字,或反应物t2,在这种情况下,反应物是两个相互平方的数字。(这只是代码中有问题的部分) 或者它没有发生。我限制了它,因为它很长,有点tbh(作为一个noob)“凌乱”。但我会把完整的代码放进去。我理解他为什么想要MCVE,当按下=符号时,vi设
或者它没有发生。我限制了它,因为它很长,有点tbh(作为一个noob)“凌乱”。但我会把完整的代码放进去。我理解他为什么想要MCVE,当按下=符号时,vi设置为0,这允许用户在x^y中键入y,我现在把所有的代码都放进去了,但大约是400lines@BennMCVE!=“所有代码”那么我应该将其设置为4ms以上吗?我该换什么
function click15(){
if (reactant > 0) {
reactant = parseFloat(reactant);
}
if (reactant2 > 0) {
reactant2 = parseFloat(reactant2);
}
if (fn === 0) {
product = reactant / reactant2;
} else if (fn === 1) {
product = reactant * reactant2;
} else if (fn === 2) {
product = reactant - reactant2;
} else if (fn === 3) {
product = reactant + reactant2;
} else if (fn === 4) {
if (vi === 0) {
vi = 1;
var timer = setInterval(function(){
if (vi === 0) {
product = (Math.pow(reactant, reactant2));
clearInterval(timer);
}
}, 4);
}
}
reactant = product;
product = 0;
reactant2 = "0";
vir = 0;
vir2 = 0;
vi = 0;
di1 = 0;
di2 = 0;
fn = -1;
}