4

我正在尝试制作各种人才计算器,单击“技能”将减少此变量,而右键单击将增加该变量。

我遇到的问题是我希望将变量限制为超过 50 或低于 0。

现在我用谷歌搜索并在这里搜索了变量限制和最大整数,但没有任何东西让我知道如何做到这一点,我认为我的搜索措辞错误。

有人可以给我一个想法如何做到这一点或请指出正确的方向,谢谢。

变量 im 使用:

  var a=50;
  function decrease(){a--;document.getElementById('boldstuff').innerHTML= +a;}
  function increase(){a++;document.getElementById('boldstuff').innerHTML= +a;}
4

8 回答 8

2

添加decrease后的函数中a--

if (a < 0)
    a = 0;

并在increase

if (a > 50)
   a = 50;

或使用Math.min(value, minValue)Math.max(value, maxValue)

于 2012-09-14T12:05:56.763 回答
2

您可以使用 Math.min 和 Math.max。

  var a=50;
  function decrease(){ a = Math.max( a-1,0) ; document.getElementById('boldstuff').innerHTML= a;}
  function increase(){ a = Math.min( a+1,50); document.getElementById('boldstuff').innerHTML= a;}
于 2012-09-14T12:06:31.297 回答
0

试试这个:

var a=50;
function decrease(){
   if(a > 0){
      a--;
      document.getElementById('boldstuff').innerHTML= +a;
   }  
}
function increase(){
   if(a < 50){
      a++;
      document.getElementById('boldstuff').innerHTML= +a;
   }
}
于 2012-09-14T12:08:51.513 回答
0

试试这个:

  var a=50;
  function decrease(){if(a>0){a--;document.getElementById('boldstuff').innerHTML= +a;}}
  function increase(){if(a<50){a++;document.getElementById('boldstuff').innerHTML= +a;}}
于 2012-09-14T12:09:00.093 回答
0

只需在更改之前检查该值,以便仅在未达到限制时更改它:

var a=50;

function decrease(){
  if (a > 0) {
    a--;
    document.getElementById('boldstuff').innerHTML = a;
  }
}

function increase(){
  if (a < 50) {
    a++;
    document.getElementById('boldstuff').innerHTML = a;
  }
}

(上面的代码假定整数值。如果您分配49.9给变量并调用increase,它会将变量增加到50.9。如果您还需要防止浮点数,您可以进行检查if (a - 1 >= 0)if (a + 1 <= 50)。)

于 2012-09-14T12:10:56.597 回答
0
Math.max(Math.min(x,range.max),range.min);
于 2020-12-02T00:35:15.007 回答
0

使用三元运算符。使您的代码美观整洁:

let a = someFunctionResult();
    a = a > 50 ? 50 : a;  
    a = a <  0 ?  0 : a; 

    // if A is more than 50, make it 50, otherwise leave it unchanged;
    // if A is < 0, make it 0, otherwise leave it unchanged.
于 2021-05-05T06:49:33.083 回答
-1

//// 你的最大值 ///// 你的最小值 if(type > 4){type = 4;} if(type < 0){type = 0;}

简单地说,如果它在任一边界之外将其设置为该边界

于 2017-09-13T10:46:41.703 回答