Fala, Renan! Tudo bem, amigão?
Vamos às dúvidas:
Referente a atribuição das variáveis, sim, porém só devemos atentar ao declarar uma string, pois ela vai aspas (detalhezinho rs)
Sobre array, quando declaramos:
var segredos = sorteiaNumeros(5);
significa que estamos chamando uma função e colocando dentro da variável var segredos e estipulamos que queremos 5 números (poderiam ser 2), logo ele vai até a função e executa todo o processo de sortear esses números e guardá-los na array que está dentro da própria função. Agora, se quiséssemos guardar essas variáveis, colocaríamos essa array fora da função, pois não mudaria todas as vezes que executarmos. Só para deixar mais claro:
Essa array declarada dentro da função sempre haverá alteração nos valores, pois a cada vez que rodar a função gera outros valores. A não ser que esses valores estivessem já pré-estabelecidos, e também ter uma array não teria muito sentido se os valores já foram declarados (faz sentido?). Agora uma array fora da função é porque queremos guardar esses valores, como por exemplo somar números gerados dentro da função (você verá isso em aulas futuras).
A segunda questão, realmente não faz diferença se sua variável chama x, y, z ou banana, e só retorna diferente porque a função está preparada para sortear números de 1 a 10 todas as vezes que for chamada.
var segredos = sorteia(5);
//Aqui está dizendo "quero receber cinco números da função sorteiaNumeros"
function sorteiaNumeros(quantidade) {
var segredos = [];
//Essa é a array que guardará dos os cinco números sorteador
//Aqui ele cria um contador para auxiliar na criação da lista
var numero = 1;
//Aqui começa a repetição que, de fato, vai criar a lista
while (numero <= quantidade) {
//Aqui ele cria uma variável e lhe dá um número aleatório (através da função sorteia)
var numeroAleatorio = sorteia();
//Aqui ele cria uma variável booleana para verificar se o item já está na lista
var achou = false;
//Aqui ele usa a condição para que 0 não entre na lista
if (numeroAleatorio !== 0) {
//Aqui começa a varredura da lista
for (var posicao = 0; posicao < segredos.length; posicao++) {
//Aqui ele checa se o número já está na lista, se tiver ele encerra e vai pro próximo
if (segredos[posicao] == numeroAleatorio) {
achou = true;
break;
}
}
//Aqui ele adiciona o número a lista, se ele não já estiver
if (achou == false) {
segredos.push(numeroAleatorio);
numero++;
}
}
}
//Aqui ele retorna a lista
return segredos;
}
//Feitor Daniel Ferreira.
</script>
Espero ter ajudado, Renan!!!
Bons estudos e vamos em rente!!!