В: Что бы вы назвали локальной областью, находящейся в функции, находящейся внутри другой функции?Скользящие переменные в функциях JavaScript
Поясню:
У меня возникли проблемы с соглашением об именах, которые я хочу использовать. Вот простой пример:
!function($, window, undefined) {
var Variables = {};
Variables.X = 1;
function myFunction() {
var local = {};
local.X = 2;
$('.myClass').each(function() {
var local = {};
local.X = 3;
});
}
}(jQuery, window);
Теперь я решил, что я собираюсь использовать объект под названием «Переменные» для размещения всех объектов, которые являются общими в любом месте между функциями. Глобальная область действия, если хотите, ограничена внутри определения функции!() {}.
И я решил использовать объект «local» для размещения всех объектов, находящихся внутри функции. Моя проблема - это объем функции внутри функции. Я думаю, что мне нужно каким-то образом включить имя функции, чтобы сделать ее уникальной. Я знаю, что в этом тривиальном примере local.X представляет собой две отдельные переменные. Но я хочу назвать их отдельно, чтобы человек был более легко читаемым. Я не хочу возвращаться через 6 месяцев и задаюсь вопросом, что такое local.X.
Добавление к проблеме заключается в том, что это анонимная функция, поэтому нет никакого имени функции для привязки, чтобы сделать «локальную область» уникальной идентификацией. Возможно, мне придется составить правило, что если переменная требуется внутри функции обратного вызова, тогда дайте функции обратного вызова имя и привяжите локальную область к этому имени (каким-то образом).
Я понимаю вашу проблему (переменная тень), но я не понимаю, что вы пытаетесь сделать и почему. –