Acessando variáveis de outras funções sem usar variáveis globais

Ouvi de vários lugares que variáveis globais são inerentemente desagradáveis e más, mas ao fazer algum Javascript não orientado a objetos, não consigo ver como evitá-las. Digamos que eu tenha uma função que gere um número usando um algoritmo complexo usando números aleatórios e outras coisas, mas preciso continuar usando esse número específico em alguma outra função que seja um retorno de chamada ou algo assim e, portanto, não possa fazer parte da mesma função.

Se o número gerado originalmente for uma variável local, não será acessível a partir daí. Se as funções fossem métodos de objeto, eu poderia transformar o número em uma propriedade, mas não é, e parece um pouco complicado alterar toda a estrutura do programa para fazer isso. Uma variável global é realmente tão ruim?

questionAnswers(10)

yourAnswerToTheQuestion