Javascript 如何使用循环中的“i”?循环已停止后
我想做一个抛射计算器,所以它真的需要改变计算方法&再次计算,直到完成为止Javascript 如何使用循环中的“i”?循环已停止后,javascript,Javascript,我想做一个抛射计算器,所以它真的需要改变计算方法&再次计算,直到完成为止 <script> function useif() { var Height = Number(document.getElementById("Height").value); var Velocity = Number(document.getElementById("Velocity").value); var Range = Number(document.getElementB
<script>
function useif()
{
var Height = Number(document.getElementById("Height").value);
var Velocity = Number(document.getElementById("Velocity").value);
var Range = Number(document.getElementById("Range").value);
var First = ( ( ((Math.SQRT2 * Velocity) + (Math.sqrt(19.6) * Velocity * Height)) * Math.cos(0.785398163) ) / 9.8);
document.getElementById("First").innerHTML = First;
if (First < Range)
document.getElementById("show").innerHTML = "Need more velocity to success on this range";
else
{
for (var i = -1.570796327; i < MaxValue; i+0.000000001;)
{
( (( (Velocity * Math.sin(i)) + Math.sqrt(Velocity * Math.sin(i) * Velocity * Math.sin(i) - 19.6 * Height) )) / 9.8) * Velocity * Math.cos(i));
if (result >= Range) break;
document.getElementById("i").innerHTML = i;
var degree = i * 57.295779513;
document.getElementById("show").innerHTML = degree + "degree";
}
}
}
这就是所有的功能
<p>Height<br /><input id="Height" type="text" /><br></P>
<p>Range<br /><input id="Range" type="text" /><br></P>
<p>Velocity<br /><input id="Velocity" type="text" /><br></P>
<input type="button" value="Calculate!" onclick="useif()" />
<span id="show"></p>
我试图证明我的学位,但我不知道为什么它不起作用
似乎问题是从循环部分开始的,我对它还很陌生,需要很多解释
这是我的JSFIDLE刚刚注册的
你有一些无用的任务到处进行,使你的程序混乱,并且缺少一些变量。在fiddle上使用JSHint按钮几次后,我得出了这个工作结论。希望这能帮你摆脱困境 试试这个: HTML: JS:
为什么不改变你的第一个问题!?您的html中没有Id为i的元素!最好创建一个JSFIDLE,让我们与您一起调试。还有,你的目标是什么?是在内部HTML中显示度值吗?是在for循环中定义了MaxValue吗?这一行要做什么?速度*Math.sini+Math.sqrtVelocity*Math.sini*速度*Math.sini-19.6*高度/9.8*速度*Math.cosi;其他事情;在for循环中,应该执行i+=0.000000001,而不是执行i+0.000000001;
<p>Height
<br />
<input id="Height" type="text" />
<br>
</P>
<p>Range
<br />
<input id="Range" type="text" />
<br>
</P>
<p>Velocity
<br />
<input id="Velocity" type="text" />
<br>
</P>
<input type="button" value="Calculate!" onclick="useif()" /> <span id="show">Output here</span>
</p>
window.useif = function () {
var i;
var MaxValue = 3;
var Height = Number(document.getElementById("Height").value);
var Velocity = Number(document.getElementById("Velocity").value);
var Range = Number(document.getElementById("Range").value);
var First = ((((Math.SQRT2 * Velocity) + (Math.sqrt(19.6) * Velocity * Height)) * Math.cos(0.785398163)) / 9.8);
if (First < Range) document.getElementById("show").innerHTML = "Need more velocity to success on this range";
else {
for (i = -1.570796327; i < MaxValue; i += 0.0001) {
result = ((((Velocity * Math.sin(i)) + Math.sqrt(Velocity * Math.sin(i) * Velocity * Math.sin(i) - 19.6 * Height))) / 9.8) * Velocity * Math.cos(i);
if (result >= Range) break;
var degree = i * 57.295779513;
document.getElementById("show").innerHTML = degree + "degree";
}
}
};