function findSequence(goal) {
var find = function (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");
}
var sequence = findSequence(24);
是sequence
闭包函数吗?如果是,那么以这种方式使用闭包是否更可取?网络资源教会了我如何避免关闭。
更新:
评论中要求我显示网络资源。这些是我在网上看到的更可靠的资源。
1. MDN - “性能注意事项”下的闭包。
2. Addy Osmani在“Garbage Collection - Closures”下的文章。
3. MSDN - 参见“闭包”部分。
4. Stack Overflow Post - 查看已接受的答案。
5.堆栈溢出帖子
6.另一篇有趣的文章——见最后两段。