Javascript循环计算
使用下面的脚本Javascript循环计算,javascript,loops,Javascript,Loops,使用下面的脚本 var-lvl=0; var-HappB=5; var-DecoX=5; var诱饵=5; 而(lvl
var-lvl=0;
var-HappB=5;
var-DecoX=5;
var诱饵=5;
而(lvl<5){
document.ofrm.UpgSD.value+=Math.ceil((Math.exp((HappB+lvl)/(DecoX*DecoY)*1.8))*1*130000*(Math.tanh((lvl+1)/20))*(Math.tanh((lvl+1)/20));
lvl++;
}
看起来
document.ofrm.UpgSD.value
被转换成字符串(而不是数字)
var lvl=0;
var-HappB=5;
var-DecoX=5;
var诱饵=5;
var initialValue=parseInt(document.ofrm.UpgSD.value);
而(lvl<5){
initialValue+=Math.ceil((Math.exp((HappB+lvl)/(DecoX*DecoY)*1.8))*1*130000*(Math.tanh((lvl+1)/20))*(Math.tanh((lvl+1)/20));
lvl++;
}
document.ofrm.UpgSD.value=初始值;
以下是更新的代码。
1.您的循环状况需要纠正。
2.值为字符串。可以设置为变量,然后附加它
var lvl=0;
var-HappB=5;
var-DecoX=5;
var诱饵=5;
var数=0;
虽然(lvl)我认为.value
是一个字符串
而不是一个数字,但您需要将它传递给parseInt()
,尽管它的名称是,xxx.xxx.value
是一个字符串。我看不到您(认为)在任何地方添加+
(字符串!)。
值总是字符串。
var lvl = 0;
var HappB = 5;
var DecoX = 5;
var DecoY = 5;
var initialValue = parseInt(document.ofrm.UpgSD.value);
while (lvl < 5) {
initialValue += Math.ceil((Math.exp((HappB + lvl) / ((DecoX * DecoY) * 1.8))) * 1 * 130000 * (Math.tanh((lvl + 1) / 20)) * (Math.tanh((lvl + 1) / 20)));
lvl++;
}
document.ofrm.UpgSD.value = initialValue;