2012-03-29 47 views
-3
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中使用隨機函數?

+2

這不是jQuery。 – jrummell 2012-03-29 15:29:33

+0

請注意,它是'Math.random'而不是'Math.Random'(注意''小寫'r')。 – 2012-03-29 15:30:33

回答

3

Math.random()返回的值在01之間,所以改爲使用模運算符,您需要使用乘法。

1 + (Math.random() * 9); 

最後,你要圓或.floor()那些重視

var x = Math.floor(1 + (Math.random() * 9)); 

,或者更短的

var x = ~~(1 + (Math.random() * 9)); 
+0

請注意,您在第一個示例中使用大寫字母隨機,使用小寫;-) – 2012-03-29 15:32:04

+0

@SimonEdström:哦是的,謝謝,從來沒有複製和粘貼(注意自己)。 – jAndy 2012-03-29 15:32:44

0

這會給你一個結果,0到9之間

Math.floor(Math.random()*9) 

順便說一句,jQuery是一個JavaScript框架。數學是一個原生的javascript函數

1

在JavaScript中Math.random函數返回0和1之間的數字。如果你想得到一個1到9之間的數字,你將不得不使用它。

var number = ((Math.random() * 10) | 0) % 9 + 1