2011-04-04 21 views
7

Actualización. No hay problema con esta pregunta. Ver el primer comentario.JS Fiddle print/alert

Estoy tratando de descubrir este código con jsfiddle.net, pero cuando lo ejecuto, desencadena la impresora real conectada a mi computadora. Cambié la impresión a "alerta" http://jsfiddle.net/eZ3jQ/ y me devolvió (((1 * 3) + 5) * 3). Sin embargo, como las llamadas de retorno encuentran, esperaba que se ejecutara de nuevo.

¿Hay alguna manera de hacer que el programa siga funcionando?

function findSequence(goal) { 
    function find(start, history) { 
    if (start == goal) 
     return history; 
    else if (start > goal) 
     return null; 
    else 
     return find(start + 5, "(" + history + " + 5)") || 
      find(start * 3, "(" + history + " * 3)"); 
    } 
    return find(1, "1"); 
} 

print(findSequence(24)); 
+0

Estoy confundido, ¿qué es lo que queremos que siempre está en funcionamiento, no es (((1 * 3) + 5) * 3) = 24? Como en el objetivo? Podría haber entendido mal tu código. – Khez

+1

oops, tienes razón. Gracias. Me confundí. – mjmitche

+0

Me hiciste reír. * thumbsup * – Khez

Respuesta

10

Bueno, aparte de la corrección que no era necesaria, déjame hacer una sugerencia.

HTML

<div id="logs"></div> 

JS

var logs=document.getElementById('logs'); 
function logIt(msg){ 
    var e=document.createElement('div'); 
    e.innerHTML=msg; 
    logs.insertBefore(e,logs.firstChild); 
} 

función Log que antepone los mensajes, útiles para que pueda realizar un seguimiento de las cosas. Alerta es desagradable: P

+6

O, si está usando un navegador que puede manejarlo (Firefox + Firebug, Chrome, Safari, etc.) use 'console.log()' y sus hermanos. Muy agradable para registro discreto y registro de errores, especialmente en un entorno de desarrollo. –

+0

Creo que Firebug es una necesidad para el desarrollo, he conocido personas que lo ignoran por completo. Al final, todo el desarrollo web tiene un 80% de problemas de IE y ahí es donde console.log no es útil: D – Khez

+1

Creo que IE8 ahora tiene un puerto de Firebug llamado "Herramientas de desarrollo". Además, está Firebug Lite, que se ejecuta en casi cualquier cosa. El significado 'console.log()' lentamente se está volviendo universal, más o menos. –

0

HTML:

<div id="log"></div> 

JS:

var log = function(msg) { 
    var elem = document.getElementById('log'); 
    elem.innerHTML += '<p>' + msg + '</p>'; 
};