JavaScript Math.random() 返回“未定义”

我有一段使用 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 包。


江户川乱折腾
浏览 222回答 1
1回答

慕标5832272

问题在于 chrome 如何解释非常小的值没有 console.log chrome 显示它是这样的使用 console.log chrome 正确显示
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript