Как мне использовать переменную вне функции?

#javascript

#javascript

Вопрос:

 function ofInput() {
  const data = Array.from(
   this.children,
   tr => Array.from(tr.querySelectorAll('input'), input => input.value)
  );
}

document.querySelector('tbody').addEventListener('input', ofInput);

console.log(data);
 

Таблица имеет входные данные в каждой ячейке. При выводе данных на вход данные в массиве должны автоматически меняться

Комментарии:

1. Функция должна возвращать значение.

2. С чем вы собираетесь делать data ?

3. @Pointy но даже если console.log(data) бы это было так, там, где он это сделал, это ничего не дало бы

4. @OP это больше похоже на проблему XY , чем на что-либо еще. Вы бы узнали намного больше, приведя нам простой пример того, что вы на самом деле пытаетесь сделать.

5. should automatically change … Javascript ничего не делает «автоматически».. Должен быть код для обнаружения изменений и соответствующего обновления.

Ответ №1:

Переменная данных находится внутри области действия функции ofInput . Вам нужно объявить переменную за пределами области действия функции, чтобы получить к ней доступ. Попробуйте это:

 let data;
function ofInput() {
  data = Array.from(
   this.children,
   tr => Array.from(tr.querySelectorAll('input'), input => input.value)
  );
}

document.querySelector('tbody').addEventListener('input', ofInput);

if (data amp;amp; typeof(data) === "array") console.log(data);
else console.log("Event did not occur");