Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Ordem de escrita do script

Olá queria tirar uma duvida sobre um código da aula, na função reiniciar, a ordem dos itens que serão resetados esta dessa forma:

function reiniciar() {
    amigos = [];
    document.getElementById('lista-amigos').innerHTML = '';
    document.getElementById('lista-sorteio').innerHTML = '';
}

Qual seria a principal diferença se a escrita fosse feita em uma ordem diferente por exemplo:

function reiniciar() {
    document.getElementById('lista-amigos').innerHTML = '';
    document.getElementById('lista-sorteio').innerHTML = '';
    amigos = [];
}
3 respostas

Olá, Matheus!

A ordem dos comandos em uma função pode sim fazer diferença, dependendo do contexto. No caso específico do seu exemplo, a ordem dos comandos não afetará o resultado final. Isso porque as três linhas de código são independentes entre si, ou seja, a execução de uma não depende do resultado da outra.

No primeiro exemplo:

function reiniciar() {
    amigos = [];
    document.getElementById('lista-amigos').innerHTML = '';
    document.getElementById('lista-sorteio').innerHTML = '';
}

Você está primeiro limpando o array amigos e depois limpando o conteúdo HTML dos elementos 'lista-amigos' e 'lista-sorteio'.

No segundo exemplo:

function reiniciar() {
    document.getElementById('lista-amigos').innerHTML = '';
    document.getElementById('lista-sorteio').innerHTML = '';
    amigos = [];
}

Você está primeiro limpando o conteúdo HTML dos elementos 'lista-amigos' e 'lista-sorteio' e depois limpando o array amigos.

Em ambos os casos, o resultado final será o mesmo: tanto o array amigos quanto os elementos HTML 'lista-amigos' e 'lista-sorteio' estarão vazios.

Agora, se houvesse alguma dependência entre essas linhas de código, a ordem poderia afetar o resultado. Por exemplo, se você estivesse usando o array amigos para atualizar o conteúdo HTML dos elementos 'lista-amigos' e 'lista-sorteio', aí sim a ordem importaria.

Espero ter ajudado e bons estudos!

Poderia dar um pouco mais de contexto sobre a dependência fiquei curioso.

solução!

Um exemplo:

let valor1 = 10;
let valor2 = 20;
let soma = valor1 + valor2;

alert(`Soma dos valores: ${soma}`);

Nesse exemplo a ordem faz sentido e se você inverter, pode causar erros. Exemplo:

let soma = valor1 + valor2;
let valor2 = 20;
alert(`Soma dos valores: ${soma}`);
let valor1 = 10;

Vai dar erro pois a variável soma vai tentar fazer o cálculo com duas variáveis que não existem ainda, pois foram declaradas na linha de baixo.

Então a ordem pode fazer diferença, dependendo do contexto.