第七集 如何去產生亂數
接下來我們要為你介紹一個可以產生亂數的函數,也是以 JavaScript 所寫的這個函數只是利用了一點小技巧而已。而這種技巧在大部分的編譯器(compiler)中,大都是如此(或類似)計算出亂數來的。
相信 JavaScript 最后應也會以相似的方法來產生這樣的method,如果它會提供這樣功能的話,以下是此函數的結果:
這是一個計算產生的亂數.3861138662928667
以下是這個作法的寫法
?。糷ead>
?。約cript language="LiveScript">
function RandomNumber() {
today = new Date();
num = Math.abs(Math.sin(today.getTime()));
return num;
}
?。?script>
?。?head>
?。糱ody>
?。約cript language="LiveScript">
?。?--
document.write("This is a random number:",
RandomNumber());
// -->
?。?script>
?。?body>
?。?html>
我們的做法是以上一個范例中的時間函數,它會出現一個很大的數,利用這個數再加以運算即可。例如:將它拿來做正弦函數(sin)的運算,得到的數再做絕對值的運算,結果可以得到一個介於 0 與 1 間的實數,因為時間的改變是 ms 為單位,而且你絕不會獲得相同的數字不過這個做法并不適合拿來快速的連續產生一系列的亂數,但如果你是不定時久久的用一次,那效果就不錯了。