首页 > 解决方案 > 为什么此函数内部未定义某些变量

问题描述

当定义第三个变量时,为什么我的前两个变量在函数内未定义:

HTML:

<p id="firstCard-el"></p>
<p id="secondCard-el"></p>
<button id="deal-btn">DEAL</button>

JS:

let firstCard = document.getElementById("firstCard-el");
let secondCard = document.getElementById("secondCard-el");
let dealButton = document.getElementById("deal-btn");

// generate randome number 1-11
function getRandomNum() {
  let ranNum = Math.floor(Math.random() * 11) + 1;
  console.log(ranNum);
}

// set cards to the random number
function deal() {
  firstCard = getRandomNum();
  secondCard = getRandomNum();

  console.log(firstCard);  //undefined
  console.log(secondCard); //undefined
  console.log(dealButton); //defined
}

dealButton.addEventListener("click", deal);

标签: javascriptvariablesundefined

解决方案


如果您设置 firstCard 和 secondCard 等于它,getRandomNum() 需要返回一个值。


推荐阅读