我有一段使用Math.random()的代码。我注意到有时返回值将是“未定义”。这是我使用的代码:
return data.map(val => {
var r = Math.random();
if (r < this.mutChance) {
console.log(Math.random);
debugger;
return this.rDna(val);
}
return val;
});
当我将mutChance变量设置为0并让代码运行一段时间时,最终调试器被调用并显示r的值未定义。我试图通过在控制台中运行来重现该问题
var test = Math.random();
while(test){
test = Math.random();
}
但是,此循环从未结束。我不知道为什么该功能在我的对象和console.log(Math.random);中会有所不同。说该函数仍然具有其本机代码。在任何地方都不能覆盖随机函数,在其他任何地方都不能使用变量r。
我对JavaScript比较陌生,在其他任何地方都找不到此问题。我导入的唯一其他代码是p5.min.js包。
答案 0 :(得分:0)