Homenaje a la Recursividad

Tengo que admitir que la íºltima asignatura que conseguí­ sacarme de la carrera fue una en la que el 60% del valor de la nota del examen era un problema de recursividad.
La verdad es que imaginaos que muy bien no me caí­a el tema, porque además me costó más de un intento el sacar el aprobado. Con ello la verdad es que le pillé algo de maní­a a la recursividad, y a parte de utilizarla para hacer bucles programando en LISP en contadas ocasiones la he vuelto a aplicar.
Pero, todo llega, y reciéntemente me he topado con el siguiente código javascript:
function toggleDisabled(el)
{
               
  try
  {
    el.disabled = el.disabled ? false : true;
  }
  catch(E){}
               
  if (el.childNodes && el.childNodes.length > 0)
  {
    for (var x = 0; x < el.childNodes.length; x++)
    {
      toggleDisabled(el.childNodes[x]);
    }
  }
}
La verdad es que menuda maravilla, esto hay que aplicarlo más a menudo. Todo sea por seguir aprendiendo.
Por cierto, pregunta, ¿qué hace el código que hay ahí­ arriba? 🙂
El detalle de meter en un try el enable y comerse el catch la verdad es que llama especialmente la atención, es una solución algo bruta pero que deja el código elegante. Lo íºnico que… yo le hubiera añadido un comentario por algíºn lado… por eso de dejarlo más claro.
Saludos.
Miguel.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.