的幾點思考我學習JavaScript和希望有關生成隨機整數的一些信息。我看它在google
和stackoverflow
,大多發現這樣的代碼(在情況下,我們希望數字1到52):有關生成隨機數
var randInt=function(){
number=Math.floor(Math.random()*52+1);
};
和
var randNumMin = 1;
var randNumMax = 52;
var randInt = function(){
number = (Math.floor(Math.random() * (randNumMax - randNumMin + 1)) + randNumMin);
};
我讀到Math.random
一些參考和發現它產生數字從0
到1
。如果Math.random
產生1
,我們將獲得數5
,所以這意味着我們將得到錯誤。我同意這是非常罕見的情況,但這是可能的。我稍微修改了代碼以避免該錯誤(在我們的案例中,代號爲53
)。這裏我認爲是一個正確的代碼,用於在JavaScript中生成隨機數。在你的例子只生成整數,但我認爲這是可以修改代碼,並生成任何類型的號碼:
var randInt = function(){
number = Math.floor(Math.random()*52+1);
if (number === 53){
randInt();
}
};
和
var randNumMin = 1;
var randNumMax = 52;
var randInt = function(){
number = (Math.floor(Math.random() * (randNumMax - randNumMin + 1)) + randNumMin);
if (number===53){
randInt();
}
};
我是新來的JavaScript,將是有趣的,聽到一些關於來自JavaScript專業人士的想法。提前致謝。
否,那將產生X和X + Y之間的隨機數。 – Guffa 2012-08-15 21:43:23
@Guffa不,它不會。注意(Y - 1) – 2012-08-15 21:45:26
@Guffa的OP的公式會返回。因此,發佈在SO – 2012-08-15 21:45:58