RE:Como ver que contiene esta variable
Hola Agustín, typeOf solo devuelve uno de estos tipos:
number
string
boolean
object
function
undefined
Por lo que si tu variable posee "" o sea Nulo, el por defecto te dirá que es una cadena, y voy a especular un poco. Cuando va a la funcion entra() veo que asignas la variable color = celda.style.backgroundColor; de esa manera si no tiene fondo el obtiene el valor "" y eso es porque el objeto que estas llamando quizás no posea un style asignado, es decir, tiene razón javascript cuando te dice que no posee nada o sea "" es decir NULL. Pero luego le asignas celda.style.backgroundColor = "#FF0000", quizás no lo veas pero igual la variable color no está obteniendo nada la primera vez debido a que esa celda no poseía nada, pero la segunda y demás veces si obtendrá un valor debido a que ahora si le asignaste el color #FF0000 a la celda, aún así parece que le falta algo a las funciones, que tal si muestras todo el código.