【发布时间】:2012-04-18 06:58:23
【问题描述】:
function foo(a) {
if (/* Some condition */) {
// perform task 1
// perform task 3
}
else {
// perform task 2
// perform task 3
}
}
我有一个结构类似于上面的函数。我想将task 3抽象成一个函数bar(),但我希望将这个函数的访问限制在foo(a)的范围内。
为了达到我想要的,改成下面这样对吗?
function foo(a) {
function bar() {
// Perform task 3
}
if (/* Some condition */) {
// Perform task 1
bar();
}
else {
// Perform task 2
bar();
}
}
如果以上正确,每次调用foo(a) 时是否都会重新定义bar()? (我担心这里会浪费CPU资源。)
【问题讨论】:
-
自己测试是否值得:jsperf.com 我想这取决于 task3。
-
@tomByer - +1 推荐工具
标签: javascript