Переменная JS не определена (не запомнена) внутри переданной функции - PullRequest
0 голосов
/ 01 мая 2018

У меня есть функция, которая принимает другую функцию и ее переменные и выполняет эту функцию, моя проблема в том, что переменные, которые я передаю, становятся неопределенными,

function A(type = 'default_type', B = function(){}) {
  B();
}

function Parent() {
  var data = "hello"
  
  A('my_type', data => {
    console.log(data);
  });
}
Parent();

это работает, когда я делаю это:

function A(type = 'default_type', data,B = function(){}) {
  B(data);
}

function Parent() {
  var data = "hello"
  
  A('my_type', data => {
    console.log(data);
  });
}
Parent();

но я не хочу этого делать, потому что мне может понадобиться передать несколько переменных в будущем

1 Ответ

0 голосов
/ 01 мая 2018

Вы дважды используете data, измените объявление функции внутри вашего вызова на A () на другое имя, чтобы вы могли получить доступ к вашим данным "Hello".

function A(type = 'default_type', B = function(){}) {
  B();
}

function Parent() {
  var data = "hello"
  
  A('my_type', d => {
    console.log(data);
  });
}
Parent();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...