JavaScript概率函数

翻看以前的代码时,发现一个在没事的时候写的小玩意—概率函数,有点像游戏里装备升级成功率的那个玩意,权当自娱自乐。

概率函数(前端组)

复制代码
 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 2 <html>
 3     <head>
 4         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 5         <title>试试手气</title>
 6     </head>
 7     <body>
 8         <label>概率值请填写0-1之间的有效数字</label>
 9         <input id="val" type="text" value="0.000001">
10         <input id="click" type="button" value="试试手气">
11         <br/><br/>
12         <label>结果</label>
13         <input id="res" readonly="readonly" type="text" value="">
14         <script type="text/javascript">
15             function Probability(percentage, success, fail){
16                 var len = percentage.toString().length - percentage.toString().indexOf(".") - 1;
17                 var randomNum = Math.ceil(Math.random() * Math.pow(10, len));
18 
19                 if (randomNum <= percentage * Math.pow(10, len)) {
20                     success();
21                 } else {
22                     fail();
23                 }
24             }
25 
26             var probit = document.getElementById("val");
27             var result = document.getElementById("res");
28             document.getElementById("click").onclick = function(){
29                 Probability(probit.value, function(){
30                     result.value = "成功!";
31                 }, function(){
32                     result.value = "失败!";
33                 });
34             };
35         </script>
36     </body>
37 </html>
复制代码

Author:前端线-Newton

 

posted on   前端组www.qianduanzu.com  阅读(413)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
< 2012年4月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
6 7 8 9 10 11 12

统计

点击右上角即可分享
微信分享提示