Мне нужно определить переменную в области видимости функции, но только при первом ее вызове. Функция будет вызываться несколько раз, потому что она находится внутри цикла for, поэтому определение переменной каждый раз, когда она вызывается, сделает эту переменную непригодной для использования, поскольку мне нужно, чтобы она сохраняла желаемое значение. Я не хочу использовать класс, потому что тогда мне нужно будет создавать новый экземпляр класса каждый раз, когда я хочу использовать функцию, и я не могу использовать глобальную переменную, потому что тогда многократные вызовы функции будут изменить эту переменную в разное время, и это будет просто беспорядок. Рассмотрим этот код:
for(var i = 0; i < x; i++){
myFunction(parameter1, parameter2, parameter3);
}
Цикл for будет повторяться x раз, и функция будет вызываться также x раз. Теперь рассмотрим определение функции:
function myFunction(parameter1, parameter2, parameter3){
var a = 5;
var d = 0;
parameter2[d].method();
d++;
}
(Это гипотетическая ситуация, неиспользуемые параметры и переменные не должны вас беспокоить).
Теперь, как вы можете видеть, мне нужно пройти через массив параметра 2, но я не могу этого сделать, когда d постоянно определяется как 0 каждый раз, когда он вызывается. Мне нужно, чтобы это было определено только в первый раз, а затем оно может быть добавлено к нему. Как я уже сказал, глобальные переменные или классы не могут решить проблему, но они непрактичны для моего использования.