我使用随机数生成器返回随机数x。因为我需要x用于其他计算,x必须是一个数字。检查我是否使用了isNaN方法。因此,我的循环应该运行,因为x不是数字。 然而,isNaN方法似乎不合适,因为循环有时(随机)返回“NaN”。 你们中的任何人都有明智的想法吗?
do {
do {
a = 2.0 * Math.random() - 1;
b = 2.0 * Math.random() - 1;
q = a * a + b * b;
} while (q === 0 && q >= 1)
p = Math.sqrt((-2 * Math.log(q)) / q);
x = a * p;
} while (x <= -5.4 && isNaN(x))
return x;
答案 0 :(得分:0)
代码正在完成您正在指示的内容。你外在的表达
while (x <= -5.4 && isNaN(x))
应该使用逻辑OR而不是AND。
如果isNaN(x)== true,则x&lt; = -5.4 == false;虚假&amp;&amp; true == false。
答案 1 :(得分:-2)
通常,isNaN()函数应该返回True或False。但你可以写下这个来测试它:
var testResult = isNaN(num)
console.log(testResult);
否则,您可以通过创建以下内容来创建自己的抽象函数:
function isNumber(num)
{
return ( !isNaN(num)) : true : false );
}
而且,您可以查看以下内容:
var checkNumber = isNumber(var);