更新。这个问题没问题。见第一条评论。
我试图用jsfiddle.net弄清楚这段代码,但是当我运行它时,它会触发连接到我电脑的实际打印机。我将打印更改为“警告”http://jsfiddle.net/eZ3jQ/并返回(((1 * 3)+ 5)* 3)。但是,当返回调用找到时,我预计它会再次运行查找。
有没有办法让程序继续运行?
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 :(得分:10)
嗯,除了不需要的修复之外,lemme提出了一个建议。
<强> 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);
}
记录消息的日志功能,非常有用,可以跟踪事物。警报很讨厌:P
答案 1 :(得分:0)
HTML:
<div id="log"></div>
JS:
var log = function(msg) {
var elem = document.getElementById('log');
elem.innerHTML += '<p>' + msg + '</p>';
};