2013-08-31 14 views
0

我試圖編寫JavaScript代碼,它將通過函數生成一個隨機數,然後使用該隨機數(1和6之間)爲變量「background」賦值。爲一個變量隨機分配一個值,但不起作用

這是我有:

function genBackground() { 

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

assignBG(x); 
alert("test alert"); 
} 

function assignBG(x) { 
if (x === 1){ 
var background=blue;} 
else if (x === 2){ 
var background=green;} 
else if (x === 3){ 
var background=red;} 
else if (x === 4){ 
var background=purple;} 
else if (x === 5){ 
var background=yellow;} 
else if (x === 6){ 
var background=orange;} 
} 

警報「警報測試」不顯示,但確實,但如果前行「assignBG(X)」。我做錯了嗎?

回答

0

這些「顏色」之前在代碼中定義過嗎?否則,你應該寫color = "white"等等...

我也已經重寫assignBG這樣的:

function genBackground() { 

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

    var color = generateBG(x); 
    alert(color); // and do whatever you like with this color 
} 

function generateBG(x) { 
    var colors = ["blue","green","red","purple","yellow","orange"]; 
    return colors[x]; 
} 
+0

你是什麼意思由先前定義的?這是完整的代碼 –

+0

我的意思是'blue','green','purple'是變量名稱,不是原子或字符串......在JS中沒有預定義這樣的全局變量。 – Popcorn

+0

我使用了你的函數assignBG()的重寫版本,它的工作原理,謝謝 –