Typeof ALGO devuelve que es ese ALGO, ya sea una función, una cadena, un objeto, no este definido.....
por ejemplo:
var pepe = 'hola';
if(typeof pepe == 'string') {
alert('pepe es una string!');
} elseif(typeof pepe == 'undefined') {
alert('Has definido pepe?');
}
Un ejemplo mas practico. Hemos creado una funcion donde actuaremos sobre un elemento, pero queremos que la funcion pueda ser pasandonos la ID o el objeto.
function mifuncion(elobjeto) {
if(typeof elobjeto == 'string') { // si es una string, lo usaremos como si fuera la ID
var elemento = document.getElementById(elobjeto);
} elseif(typeof elobjeto == 'object') { // si es un objeto
var elemento = elobjeto; //simplemento lo asignamos a la otra variable
} else {
return false; // si no es nada de los anteriores, devolvemos false
}
// blabalbalaba
}
typeof puede devolver por ejemplo: string si es una cadena, function si es una función, object si es un objeto, undefined si no se ha definido... etc.
Espero que os gustara este corto "tutorial"
Salu2