Cerchiamo di analizzare quanto hai scritto
codice:
<script>
//variabile globale, presente in tutto il documento impostata a NO
var carattere = "no";
//funzione che varia il valore della variabile globale precedente a SI  
function updateVar(){
carattere = "si";
}
</script>

Show alert

<script>
// controllo della variabile globale che viene eseguito al caricamento della pagina, quando la variabile (carattere) a valore NO, ergo non scatterà mai l'alert anche dopo aver premuto "show alert", perché questo avvenga dovrai trasferire il controllo dentro la funzione
if (carattere == "si") {
alert("Mostra alert");
}
</script>
per eventuali approfondimenti http://www.html.it/guide/guida-javascript-di-base/