Na verdade faz sentido sim e é uma prática muito comum.
Assim como vc disse, realmente todo o código é executado no momento em que a página é renderizada, mas da forma como vc disse dá a entender que por esse motivo então não há nenhuma forma de o usuário alterar esse código ou o comportamento dele, mas não é bem assim.
O código realmente não é possível de ser alterado, pelo menos não com facilidade, mas os valores das variáveis sim, e alterando os valores das variáveis o usuário pode mudar o comportamento do código e aí o ceu é o limite.
Geralmente é muito comum vc ver o pessoal usando pelo menos uma função anônimima autoexecutada, pq dessa forma não é possível alterar os valores das variáveis pelo console do navegador:
(function(){
// todo o código vai aqui
})();
ainda mais comum é alguns programadores usarem um event listener pra que essa função seja executada apenas depois que o carregamento da página seja concluído