2013-08-31 6 views
0

En essayant d'écrire du code JavaScript qui va générer un nombre aléatoire à travers une fonction puis utiliser ce nombre aléatoire (entre 1 et 6) pour assigner une valeur à la variable "background".Affectation aléatoire d'une valeur à une variable

C'est ce que j'ai:

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;} 
} 

L'alerte "test d'alerte" ne montre pas, mais ne se mais avant la ligne "assignBG (x);". Est-ce que j'ai fait un peu faux?

Répondre

0

Ces "couleurs" sont-elles définies précédemment dans le code? Dans le cas contraire, vous devriez écrire color = "white" et ainsi de suite ...

Je voudrais aussi réécrire assignBG comme ceci:

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

ce que vous entendez par précédemment défini? C'est le code complet –

+0

Je veux dire que 'blue',' green', 'purple' sont des noms de variables, pas des atomes ou des chaînes ... Il n'y a pas de telles variables globales prédéfinies dans JS. – Popcorn

+0

ive utilisé votre version réécrite de la fonction assignBG() et cela fonctionne, merci –

Questions connexes