[英]unable to get javascript code output,
问题:
我正在尝试使用javascript创建RNG随机数生成器,我的目标是让RNG使用种子值生成随机数,这几乎不可能预测随机数的模式。
代码从这里开始:
var digits = 10, seed = 9999199999; function nextRand() { var n = (seed * seed).toString(); while (n.length < digits * 2) { n = "0" + n; } var start = Math.floor(digits / 2), end = start + digits; seed = parseInt(n.substring(start, end)); return seed; } function nextRandFloat() { return nextRand() / 9999999999; } for (var i = 0; i < 20; i++) { console.log(nextRandFloat()); } var results = []; for (var i = 0; i < 100000; i++) { var rand = nextRand(); if (results[rand]) { break; } results[rand] = true; } console.log(i);
我已经在许多javascript编辑器中运行过此代码,但是我没有提出任何建议,任何人都可以解释一下我做错了什么。
您的代码似乎对我有用
var digits = 10; var seed = 9999199999; function nextRand() { var n = (seed * seed).toString(); while (n.length < digits * 2) { n = "0" + n; } var start = Math.floor(digits / 2), end = start + digits; seed = parseInt(n.substring(start, end)); return seed; } function nextRandFloat() { return nextRand() / 9999999999; } for (var i = 0; i < 20; i++) { console.log(nextRandFloat()); } var results = []; for (var i = 0; i < 100000; i++) { var rand = nextRand(); if (results[rand]) { break; } results[rand] = true; } console.log(i);
如果您在网页上运行此代码而未将其包含在<script>
标记中,则浏览器将无法执行该脚本。 由于这些环境的设计方式,您可以在此处的Stackoverflow,jsfiddle.net和codepen.io上运行这些脚本而无需这些标签。
此外,您不会在网页上看到任何输出,因为脚本会将输出记录到控制台。 如果您使用的是Google Chrome浏览器,请转到开发人员工具,然后可以查看记录了什么输出。 当我检查控制台时,出现以下输出:
0.0006200016000620002 0.03844019840384402 0.7648853031764885 0.952689837895269 0.7927047390792705 0.08032330580803233 0.18334546401833454 0.5559169375555917 0.364139937836414 0.789430098778943 0.9880733491988073 0.894320169089432 0.8564680188856468 0.7467227197746723 0.4820116164482012 0.5198344540519835 0.7859565478785957 0.7695029693769503 0.4819761516481976 0.10107111461010711 20570
请注意,您不必总是对脚本标签进行硬编码,可以根据此讨论使用JavaScript或jQuery动态添加它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.