javascript - input.value=<variable> 返回静态值 [Javascript]

标签 javascript html variables while-loop output

我对此很陌生,最近做了一个非常原始的程序,可以计算 x 和 y 的整数值的 x^y。脚本

var total = 1;
var power = 0;
var x = 4;
var y = 2;
while(power<=(y-1))
{power+=1;
 total*=(x);}
print(total);

在 javascript 控制台中工作,但是当我尝试制作一个简单的 HTML 文件时

<html>
<title>Score Verifier</title>
<head>
<script language="javascript">
function calculate()
{
var x=document.getElementById('x');
var y=document.getElementById('y');
var result=document.getElementById('result');
var total = 1;
var power = 0;
while(power<=(y-1))
{
power+=1;
 total*=(x+(power-power));}
result.value=total
}
</script>
</head>
<body>
Calculate x^y<br />
Enter x: <input id="x" type="text" /><br />
Enter y: <input id="y" type="text" /><br />
<input id="calc" type="button" value="Calculate" onclick="calculate()" /><br />
Result: <input id="result" type="text" />
</body>
</html>

我总是在结果输入中得到一个“1”。我如何让它给出 while 循环的总数?

最佳答案

你总是得到 1(初始值),因为你的代码永远不会进入 while环形。你的xy类型为 object ,这就是为什么 y - 1将返回 NaN (不是数字)这就是为什么 power<=(y-1)永远是false .

您应该获取输入元素的(将为 string ),然后将其转换为整数:

var x=parseInt(document.getElementById('x').value);
var y=parseInt(document.getElementById('y').value);

演示:http://jsfiddle.net/73xnS/

关于javascript - input.value=<variable> 返回静态值 [Javascript],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22588997/

相关文章:

javascript - 您将如何从 ConfirmIT 的列表中删除答案?

javascript - 在发送到 BASE64 之前调整图像大小(不使用 img 元素)

javascript - Twitter 在 polymer 元素中嵌入时间轴

java - 选择正确的枚举

database - 在 config.ru 中使用变量(数据库请求)

javascript - AngularJS - 第一次加载页面时如何设置 ng-disabled 指令的真实值?

javascript - 当用户提交 PHP 表单时,如何将文本文件发送到网站上所有打开的浏览器

php - 在多个 HTML 页面中包含相同的 DIV

javascript - 网站奇怪的挂起和加载问题。 (去吧爸爸)

bash - bash中字符串的长度