In discussioni tue, ho visto vari codici: con il parseInt, con il Math.ceil, con il Math.floor .

Ognuno si comporta in modo diverso.
Ora non so quale dei codici stai usando, e quale ti da` l'errore.
Math.random() ritorna un numero float random tra 0 (compreso) e 1 (escluso).


Per essere sicuro al 100,00 % di non avere errori, potresti fare:

var num = Math.floor(Math.random() * 90) + 1;


Ciao
Michele