我究竟做错了什么?随机数赋值,函数

时间:2018-06-07 19:26:41

标签: javascript function

function rollFiftyFifty() {
  var fiftyFifty = Math.floor(Math.random() * 2+1);
  if (1) {
    console.log('One!');
  }
  if (2) {
    console.log('Two!');
  }

}


rollFiftyFifty();

这是我的代码块。我正在尝试为roll20编写一个程序来确定是否发生了遭遇。基本上,我希望代码生成1或2,50%的几率发生。如果它生成1,我希望它打印并生成其他信息。如果它生成一个2,我希望它打印出来而不是别的。这段代码就是这样,我可以弄清楚我在做什么。

我所学到的所有代码都来自于codecademy,我是超级笨蛋。提前抱歉。

2 个答案:

答案 0 :(得分:3)

您在if(1)& if(2)语句始终会生成true

Javascript

  • 1将始终返回true
  • 0将始终返回false

在您的代码中:

  • 1将始终返回true
  • 2将始终返回true

改为使用:

  • Math.random() >= 0.5;

这会根据50/50的机会返回truefalse

因此:

<小时/> if(1)if(2)都会被调用。

您还声明了variable并且从未使用过它:

var fiftyFifty = Math.floor(Math.random() * 2+1);

像这样使用那个变量:

&#13;
&#13;
function rollFiftyFifty() {
  
  // If Math.random() produces a numbes less than 0.5
  // fiftyFifty will become false.
  // Otherwise, fiftyFifty  will become true;
  var fiftyFifty = Math.random() >= 0.5;
  
  if (fiftyFifty == true) {
    console.log('One!');
  } else {
    console.log('Two!');
  }

}


rollFiftyFifty();
&#13;
&#13;
&#13;

阅读材料:

答案 1 :(得分:2)

只需使用以下声明即可解决您的问题

if (fiftyFifty == 1) {
    document.write('One!');
  }
  if (fiftyFifty == 2) {
    document.write('Two!');
  }`