JavaScript: 做個隨機數


約瑟 發表



這個例子會讓你了解隨機數的應用。JavaScript 是用時間和日期來作隨機數的變換。
注意, 在 JavaScript 裡面, 任何在 % 之後的數字是指說 "最後的數字", 也就是結尾的數字。 這個例子我用 1 到 10 來作我的隨機數。

STEP1:【程式範例】
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function rand()
{
var now=new Date()
var num=(now.getSeconds())%10
var num=num+1
alert(num)
}
</SCRIPT>
</HEAD>
<BODY>
<h1>隨機數</h1>
<form>
<INPUT TYPE="button"
VALUE="一到十的隨機數"
onClick="rand()">
</FORM>
</BODY>
</HTML>

執行及果請按下面的按鈕:



STEP2:【程式說明】
  1. 我們先從 Function 開始看:

    function rand()
    {
    var now=new Date()
    var num=(now.getSeconds())%9
    var num=num+1
    alert(num)
    }

  2. 我們從一個一個步驟來分析這個:
  3. 首先, 我們設一個 Function, 叫做 "rand"。
  4. 接著, 我們設一個變數(variable)。這個變數會執行 "new Date()" 這個指令。
  5. 我們在設另外一個叫做 "num"。它包含了 getSeconds() 這個指令。所以, 是次會以 "秒"(Second) 來變換。
  6. JavaScript, 就像其他電腦語言, 都是從 "零" 開始算起的。所以 %10 告訴 JavaScript 隨機 數會從 0 到 9 被選出來。
  7. 隨機數的運作方法實際上就是我們告訴電腦我們要從十個數字裡面選出一個。而 getSeconds() 這 個指令就被指派去選秒。換句話說, 假使我有 60 秒, 60 除以 10 是 6 , 對不對? 所以六就是你所得到的數字。 因為我們設 "10" 個數字, 所以要除以十來求出隨機數。
  8. 但是要是我們的秒數無法被 10 整除呢? 那也不要緊, 因為 % 這個玩意兒也可以求數學 問題裡的 "餘數"。舉個例子, 我們有 20 秒。十可以整除, 所以餘數是 0 。如果我們有的是 12 秒, 那 還回來的數字就是 2...也就是 "餘數"。
  9. 我之前不是說我們要在 1 - 10 裡面選數字嗎? 但後來不是又提到 0 - 9 嗎? 為什麼程式執行時 會從 1 - 10 而不是 0 - 9 呢? 因為我們加了一個 variable (num=num+1)。這個把我們原本要從 0 - 9 的範圍加一, 變成 1 - 10 的範圍。這應該不難懂吧?! huh?
  10. 最後我們用 aler() 來顯示我們的結果。
  11. 接下來, 我們用以下的按鈕用onClick指令來呼叫function。

    <form>
    <INPUT TYPE="button"
    VALUE="Random Number from 1 to 10"
    onClick="rand()">
    </form>

最後, 要是有任何問題歡迎來討論區來留話!

最後更新日期: 7/9/2001 10:33:23 AM