【发布时间】:2013-07-10 21:43:45
【问题描述】:
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 是闭包函数吗?如果是,那么以这种方式使用闭包是否更可取?网络资源教会了我如何避免关闭。
更新:
我在 cmets 中被要求展示网络资源。这些是我在网上看到的更可靠的资源。
1.MDN - Closures 在“性能注意事项”下。
2.Addy Osmani's Article 在“垃圾收集 - 闭包”下。
3.MSDN - 参见“闭包”部分。
4.Stack Overflow Post - 查看已接受的答案。
6.another intresting article - 见最后两段。
【问题讨论】:
-
你被教导要避免关闭?否则我们会教你。实际上你不能真正避免它们,它们是内置在语言中的。请分享指向该错误“网络资源”的链接,以便我们知道要避免使用该资源……
-
谷歌搜索中的“javascript关闭内存泄漏”。
-
MDN 在性能考虑部分下。
-
好吧,那就不要使用任何技术。如果滥用可能会导致伤害:-)
-
如果我是 JavaScript 专家,您的评论可能会很合适。只是想获得更深入的知识。我总是不好意思在 SO 上发布东西,面对这样的问题。
标签: javascript