Влияет ли размещение функции на производительность замыканий в области видимости? Если так, где находится оптимальное место для размещения этих функций? Если нет, является ли подразумеваемая связь по закрытию достаточной причиной для логического размещения функции в другом месте?
Например, если 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;
}
})();
Дариус Бэкон предположил ниже , что два приведенных выше примера идентичны, поскольку к localState можно получить доступ из любого места в пределах блока. Однако приведенный ниже пример, где foo определен вне блока, может быть другим случаем. Что ты думаешь?
function foo(){
// code
}
(function(){
var localState;
function bar(){
// code
foo();
return localState;
}
})();