1
resposta

comando (Math.random() * n)

Não consegui entender bem o mecanismo de funcionamento do comando Math.random(). Como funciona o parâmetro n ... 100 e por quê a operação de multiplicação?

var numeroPensado = Math.round(Math.random() * 100);

function sorteia(n) {
    return Math.round(Math.random() * n);
1 resposta

o math.random() retorna um valor aleatório entre 0 e 1, podendo retornar 0, mas jamais retornando 1. Normalmente não se quer um valor assim, mas um inteiro aleatório entre 0 e n; pra fazer isso, nos multiplicamos esse número gerado pelo n (maior numero que queremos no aleatório) e arredondamos. Então, se o meu math.random() retornou 0, minha função sorteia, retorna 0 (0 vezes qlq coisa, é zero), se ela retornar 0,999..., quando multiplicar por n, e arredondar, vai retornar o meu n; e os números intermediários vão retornar números entre 0 e n. Espero que tenha ficado claro, caso não, retorne aqui e eu tento explicar de outra forma.