Как JS хранит параметры функций?

Вопрос о хранении данных функции.

1) вызвал функцию goAcceptOffer_All(888)
после
2) вызвал функцию goAcceptOffer_All(999)
после через несколько секунд даю newadditems = true.

И выводится data, но у js ведь один поток, получается должно вывести 2 числа одинаковых т.к одна и такая же функция, а выводит 888 999, получается js хранит данные в памяти для каждого вызова функции?

Также возникает вопрос сколько данных он может хранить для каждой функции, есть ли предел?

var newadditems = false; // По умолчанию

var goAcceptOffer_All = function(data){

     var additems_retry = 40;
        var additemsload = function() {
         additems_retry--;
                 // По умолчанию newadditems = false
      if(newadditems == false){
         // Таймер каждую 1 сек запускает функцию и проверяет не стал ли newadditems = true
        setTimeout(function(){
         console.log('Запустился additems');
         additemsload();
        }, 1000);

         }else if(newadditems == true){ // Выводит данные
       console.log('data: ',data);
      }
     }
     additemsload();
}
  • Вопрос задан
  • 437 просмотров
Решения вопроса 1
@amorphine
Замыкания
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы