有没有办法让 JavaScript 选择加号或减号运算符?

Is there a way I can make JavaScript choose plus or minus operator?

我希望我的 JavaScript 能够随机选择使用 - 运算符进行减法或使用 + 运算符进行加法。有没有办法让它在两者之间随机选择?

是的,你可以。

获取随机数

Math.random();

如果随机数小于0.5,则乘以-1,否则什么都不做。

我会这样做:

function getSignMultiplier() {
  if (Math.random() < 0.5) {
    return -1;
  } else {
    return 1;
  }
}

然后使用它:

var numbers = [
  5 * getSignMultiplier(),
  5 * getSignMultiplier(),
  5 * getSignMultiplier()
];

document.getElementById('output').innerText = numbers.join(', ');

JSFiddle:https://jsfiddle.net/2snbgyw2/1/

正如@Chizzle所说,要走的路是Math.random(),但如果你想更精确一点,你应该使用:

Math.random() <= 0.5

这样的机会是50到50,区间可以用[0,0.5)和[0.5,1)来描述。 Math.random() returns 0(含)和 1(不含)之间的随机数。

这是一个带有函数的简单代码片段:

function randSumSub(a, b) {
  if (Math.random() <= 0.5) {
    result = a - b;
  } else {
    result = a + b;
  }
  return result;
}
#result {
  display: inline-block;
  width: 20px;
  height:20px;
  text-align: center;
  border: 1px solid red;
}
2 +|- 5
<button onclick="document.getElementById('result').innerHTML = randSumSub(2,5);">=</button> 
<div id="result">?</div>

我建议使用内联语法和其他人提到的 Math.random() 技巧:

var a = 1;
var b = 2;
var a_plusOrMinus_b = (Math.random()<=0.5 ? a+b : a-b);

alert(a_plusOrMinus_b);