(1)只是定义了一个变量rnd,它有2个属性(或说子变量):today、seed
(2)rnd.seed=(它自己*9301+49297)除以233280的余数。

解决方案 »

  1.   

    (1)如果rnd定义的是对象,标准的方法应该是:
    function rnd
    {
    this.today=new Date();
    this.seed=this.today.getTime();
    }(2)下面应该是在定义函数啊,rnd怎么能又是对象又是函数呢?糊涂了。
    function rnd()
    {
    rnd.seed=(rnd.seed*9301+49297)%233280;//这是什么意思?
    return rnd.seed/(233280.0);
    };(3)我想知道的是:9301、49297、233280这三个数字到底是怎么给出来的?
      

  2.   

    要连起来看:
    这是定义一个随机数发生器,等价于Math.random()
    rnd.today=new Date();  // 设置rnd的today属性为一日期对象
    rnd.seed=rnd.today.getTime();  // 设置rnd的seed属性为1970-1-1至今的毫秒数
    // 这两句是设置随机数种子function rnd()
    {
    rnd.seed=(rnd.seed*9301+49297)%233280;// 限定rnd.seed在0~233280之间,不包括233280。三个数可随意取,但233280要和下一句的相同
    return rnd.seed/(233280.0); // 返回0~1之间的一个小数,不包括1
    };
      

  3.   

    xuzuning(唠叨) 说得在理呀!
    也给我点分,一次我用光了呀!