var x = 1 + Math.Random() % 9;
if (x==1)
// do something
else if (x==2)
// do something else
我用這條線用C — (1 + Math.Random() % 9)
— ++拿到1和9之間的數字,但在JavaScript中我得到不同的結果。我想在Javascript中使用隨機函數?
var x = 1 + Math.Random() % 9;
if (x==1)
// do something
else if (x==2)
// do something else
我用這條線用C — (1 + Math.Random() % 9)
— ++拿到1和9之間的數字,但在JavaScript中我得到不同的結果。我想在Javascript中使用隨機函數?
Math.random()
返回的值在0
和1
之間,所以改爲使用模運算符,您需要使用乘法。
1 + (Math.random() * 9);
最後,你要圓或.floor()
那些重視
var x = Math.floor(1 + (Math.random() * 9));
,或者更短的
var x = ~~(1 + (Math.random() * 9));
請注意,您在第一個示例中使用大寫字母隨機,使用小寫;-) – 2012-03-29 15:32:04
@SimonEdström:哦是的,謝謝,從來沒有複製和粘貼(注意自己)。 – jAndy 2012-03-29 15:32:44
這會給你一個結果,0到9之間
Math.floor(Math.random()*9)
順便說一句,jQuery是一個JavaScript框架。數學是一個原生的javascript函數
JavaScript中沒有Math.Random()
函數。這是Math.random()
。請注意大小寫。
要得到一定的最小值和最大值之間的隨機數,這樣做:
var min = 1, max = 9;
Math.floor(Math.random() * (max - min + 1)) + min;
延伸閱讀:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Math/random
我不明白。爲什麼downvote? – FishBasketGordo 2012-03-29 15:34:53
在JavaScript中Math.random
函數返回0和1之間的數字。如果你想得到一個1到9之間的數字,你將不得不使用它。
var number = ((Math.random() * 10) | 0) % 9 + 1
這不是jQuery。 – jrummell 2012-03-29 15:29:33
請注意,它是'Math.random'而不是'Math.Random'(注意''小寫'r')。 – 2012-03-29 15:30:33