繁体   English   中英

无法获取javascript代码输出,

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM