【发布时间】:2010-09-19 14:57:47
【问题描述】:
函数的放置对作用域内闭包的性能有影响吗?如果是这样,放置这些功能的最佳位置在哪里?如果不是,那么闭包的隐含关联是否足以在逻辑上将函数放在另一个地方?
例如,如果 foo 不依赖于 localState 的值,那么 localState 是否可以从 foo 访问 对 foo 的执行时间、内存使用等有影响吗?
(function(){
var localState;
function foo(){
// code
}
function bar(){
// code
return localState;
}
})();
换句话说,这会是一个更好的选择吗?如果是,为什么?
(function(){
function foo(){
// code
}
var localState;
function bar(){
// code
return localState;
}
})();
Darius Bacon 建议below 上面的两个示例是相同的,因为 localState 可以从块内的任何位置访问。但是,下面的示例 foo 在块外定义可能是不同的情况。你怎么看?
function foo(){
// code
}
(function(){
var localState;
function bar(){
// code
foo();
return localState;
}
})();
【问题讨论】:
标签: javascript performance coding-style structure closures