Se puede evitar hacer la validación del rango de 1 a 10 si se modifica la formula para calcular el aleatorio. Estoy utilizando 2 variables, min y max para definir el rango deseado, por lo que podemos reducirlo o ampliarlo.
Ya conocemos que hace Math.round() y Math.random(). Math.floor() devuelve el resultado como un entero, similar a Math.round(), solo que Math.floor() devuelve el número entero menor o igual al número de entrada, es decir redondea hacia abajo.
Funciona así.
min vale 1 max vale 10 Supongamos que Math.random() genera el siguiente número 0.5513239 entonces el cálculo queda así
Math.floor(0.551329 )* (10-1)+1
Esto nos da por resultado 5.9619151 y aplicando la función Math.floor() nos da por resultado 5.
Ahora probemos con otro número pseudoaleatorio 0.1248321
Math.floor(0.1248321)* (10-1)+1
El número elegido sería 1 al aproximar el resultado hacia abajo con Math.floor().
function aleatorio()
{
min = 2
max = 9
return Math.floor((Math.random() * (max-min)) + min)
}