我正在制作一个计算器,我遇到了其中一个函数的问题,特别是x ^ y,它一直返回0,甚至看起来根本没有运行setInterval,尽管它在没有if的情况下运行围绕着它的功能。 fn是其使用的函数x ^ y,而vi只是计算器中的一个工具,用于区分您在反应物中更改的数字,或反应物2,反应物是在这种情况下相互平方的2个数字。 (这只是代码中有问题的部分)
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;
}