我有一段使用 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 包。
1 回答
![?](http://img1.sycdn.imooc.com/533e4c5600017c5b02010200-100-100.jpg)
慕标5832272
TA贡献1966条经验 获得超4个赞
问题在于 chrome 如何解释非常小的值
没有 console.log chrome 显示它是这样的
使用 console.log chrome 正确显示
添加回答
举报
0/150
提交
取消