si... la seconda non verifica l'esatto tipo della data variabile e
infatti prova a fare
<script>
e = null;
if(e == undefined)
alert("sono uguali");
else
alert("sono diversi");
</script>
ti dirà che sono uguali... MA NON è VERO... perchè e è NULL!
allora si procede così
e === undefined
che verifica anche l'uguaglianza... ma questo sistema A VOLTE non funziona su IE...
quindi ci viene incontro la funzione typeof... quindi la prima soluzione è la + indicata