Javascript 我的代码没有';t负载(卡在do/while环路上?)

Javascript 我的代码没有';t负载(卡在do/while环路上?),javascript,while-loop,do-while,dice,Javascript,While Loop,Do While,Dice,我一直在尝试制作一个“程序”,基本上保持“掷骰子”(随机化数值),直到你得到蛇眼,当你这样做时,它应该显示掷骰子的次数。但是,它不会加载。我做错了什么 var countRolls = 0; do { var die1 = (Math.random() * 6) + 1; var die2 = (Math.random() * 6) + 1; ++countRolls; } while (die1 != 1 || die2 != 1); console.log(countRolls); 我试

我一直在尝试制作一个“程序”,基本上保持“掷骰子”(随机化数值),直到你得到蛇眼,当你这样做时,它应该显示掷骰子的次数。但是,它不会加载。我做错了什么

var countRolls = 0;
do {
var die1 = (Math.random() * 6) + 1; 
var die2 = (Math.random() * 6) + 1;
++countRolls;
} while (die1 != 1 || die2 != 1);
console.log(countRolls);

我试着在Chrome/Firefox中打开它,它将永远加载,我将无法打开控制台。在JSFIDLE中尝试了它,但它没有响应。

因为
Math.random()
返回一个双精度,die1和die2同时为1的几率几乎为0%

您的循环将永远不会结束,因为您向随机函数中添加了一个,并且停止条件只是测试是否为1,但这不会发生


添加
console.log(die1,die2)
到你的
do{}

你是如何加载它的?哦,对了,我试过在Chrome/Firefox中打开它,它只会说它加载了无限次,我无法打开控制台。在JSFIDLE中尝试了它,每次通过循环记录
die1
die2
的值都会变得无响应,我想您会明白原因。
Math.random()
不会返回整数。所以,它不太可能返回1。所以,你处在一个无限循环中!谢谢大家的帮助,谢谢!我不知道是双人的。数学。地板()成功了!