2013-06-19 61 views
0

我正在使用以下函數來生成1到20之間的隨機數,然後將該數字加倍。該函數似乎正在工作,但我得到一個undefined後雙。這是什麼造成的?Javascript隨機數字功能 - undefined

function PlayGame(){ 

    var min = 0; 
    var max = 20; 

    var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min; 
    var doubleRandom = (randomNumber * 2); 

    document.write(randomNumber); 
    document.write(doubleRandom); 

} 

我在html文檔中調用document.write(PlayGame())。也許這是我的問題。

+0

作品(雖然沒有'document.write'):http://jsfiddle.net/PXpyq/ –

+1

你實際調用'文件撰寫(玩笑())'?這很有意義 - 「PlayGame」返回「undefined」,並且您將第三次調用「document.write」。您需要編輯您的問題以提供更多代碼,以便我們可以重現您的問題。 – apsillers

+0

它適合我。我把'document.write'改爲'console.log'。你的眼睛是什麼? – Stiger

回答

1

Live demo:

你的問題是,在這種情況下document.write。除此之外,你可以用下面的簡化:

function getRandomInRange(rangeMax) { 
    return Math.floor(Math.random() * rangeMax); 
}; 

function print(x) { 
    document.body.innerHTML += "<p>" + x + "</p>"; 
}; 

setInterval(function() { 
    print(getRandomInRange(20)); 
}, 2000); 
+0

對我來說工作正常'document.write':http://jsfiddle.net/PXpyq/2/ –

+0

也許是在我的HTML調用:<!DOCTYPE HTML> 隨機 <腳本類型=」 文本/ JavaScript的」 SRC = 「random.js」> user2502053