почему нельзя использовать значение функции в качестве параметра другой функции? - PullRequest
0 голосов
/ 01 мая 2020

У меня есть 3 кнопки, и я пытаюсь вернуть значение той, которую пользователь нажимает через прослушиватель событий. почему, когда созданный для l oop находится внутри функции, функция печати выдает «[object MouseEvent]», но в ту минуту, когда я удаляю объявленную функцию и сохраняю тело, она снова начинает работать. Кроме того, обратите внимание, что я использовал функцию печати локально в функции прослушивателя событий, я обнаружил, что функция (которая искажает вывод) работает, как и предполагалось, когда я глобально использую функцию в качестве параметра функции печати. вот мой JavaScript код

function computerPlay() {
  const random = Math.floor(Math.random() * 3);
  if (random === 0) {
    return ("rock")
  } else if (random === 1) {
    return ("paper")
  } else {
    return ("scissors")
  }
}

function print(x) {
  document.getElementById("dem").innerHTML = computerPlay();
  document.getElementById("player").innerHTML = x;
}

let buttons = document.querySelectorAll(".bt")

buttons.forEach(button => {
  button.addEventListener('click', print, false);

});


let player = document.querySelectorAll(".bt")

  for (let i = 0; i < player.length; i++) {
    player[i].addEventListener('click', function(i) {
      print(i.target.value)
    })
  }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...