如果我是你,我就不会运行这个:
Javascript:
(function() {
var a = 1,
b = a,
c = b,
d = 1,
e = 1;
while ( d != 0 && e != 0) {
b = Math.sqrt(a*a+a*a);
c = 2*a-b;
e = b%1;
f = c%1;
document.write(a);
a++;
}
document.write('a = ' + a);
document.write('b = ' + b);
document.write('c = ' + c);
})();
是的,基本上我想一遍又一遍地计算相同的方程,直到所有三个都是 JavaScript 的整数,然后将它们打印出来。请注意,直到最近我才使用 jQuery。
这似乎只是无限重复,尽管我觉得很奇怪,它在计算时不打印 a
,不确定 JavaScript while 循环是否是这样工作的。
另外,为什么我不能使用 Math.sqrt(2a^2)
来计算 B?
最佳答案
它永远不会结束,因为d
永远不会等于0。您将其初始化为1并且永远不会重新分配它。您还使用了未声明的变量f
。这应该是d
吗?
我还建议使用 console.log
而不是 document.write
。它比 DOM 刷新更频繁,并且通常具有更好的日志记录功能。查看 WebKit Inspector(Safari 和 Chrome)、Firebug (Firefox) 或 F12 开发人员工具 (IE)。
作为 PaulP.R.O.指出,您所需的求幂语法是无效的 JavaScript 语法。如果你愿意,你可以这样写:
b = Math.sqrt(2 * Math.pow(a, 2));
关于JavaScript while循环计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9578092/