文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>javascript 随机数

javascript 随机数

时间:2010-10-09  来源:司徒正美

// by 司徒正美 http://www.cnblogs.com/rubylouvre/
      var native_random = Math.random;
      Math.random = function(min, max, exact) {
        if (arguments.length === 0) {
          return native_random();
        } else if (arguments.length === 1) {
          max = min;
          min = 0;
        }
        var range = min + (native_random()*(max - min));
        return exact === void(0) ? Math.round(range) : range.toFixed(exact);
      };

      p(Math.random())
      p(Math.random(10))
      p(Math.random(3,10))
      p(Math.random(2,10,4))

var native_random = Math.random; Math.random = function(min, max, exact) { if (arguments.length === 0) { return native_random(); } else if (arguments.length === 1) { max = min; min = 0; } var range = min + (native_random()*(max - min)); return exact === void(0) ? Math.round(range) : range.toFixed(exact); }; p(Math.random()) p(Math.random(10)) p(Math.random(3,10)) p(Math.random(2,10,4)) 执行清空

群里的人很无聊,于是提了一个问题,如何不使用Math.random实现随机数,其实当时我也不知道。下面的函数改自一个C实现:

// The idea of random mehtod is taken from
// http://ianbullard.squarespace.com/journal/2009/4/28/why-you-should-never-use-rand.html
      var random = (function(){
        var high = 1, low = 1 ^ 0x49616E42;
        var shuffle = function(seed){
          high = seed;
          low = seed ^ 0x49616E42;
        }
        return function(){
          var a = new Date()-0
          shuffle(a);
          high = (high > 16);
          high += low;
          low += high;
          return high;
        }
      })();

      p(random())

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载