试图用var而不是数字简化javascript。我这样做完全错了吗?

试图用var而不是数字简化javascript。我这样做完全错了吗?,javascript,if-statement,getelementbyid,var,modulus,Javascript,If Statement,Getelementbyid,Var,Modulus,为了简化代码,我尝试使用变量的模来进行FizzBuzz计算。他们应该数到140显示正确或错误 我以前的“如果”语句看起来是这样的(它起了作用): 我看到的示例如下所示: if (checkDivision(iCounter, secondDivisor)) 我已经为计数器、两个除数和模检查器创建了变量,但我似乎无法让它工作 非常感谢您的帮助,因为我对javascript和一般编码还是非常陌生的 以下是我目前的代码: function clickAlert2() { var firs

为了简化代码,我尝试使用变量的模来进行FizzBuzz计算。他们应该数到140显示正确或错误

我以前的“如果”语句看起来是这样的(它起了作用):

我看到的示例如下所示:

if (checkDivision(iCounter, secondDivisor))
我已经为计数器、两个除数和模检查器创建了变量,但我似乎无法让它工作

非常感谢您的帮助,因为我对javascript和一般编码还是非常陌生的

以下是我目前的代码:

    function clickAlert2() {
  var firstDivisor = 3;
  var secondDivisor = 5;
  for (var iCounter = 1; iCounter <= 140; iCounter++) {
    var checkDivision =
      iCounter % firstDivisor === 0 || iCounter % secondDivisor === 0;
    if (checkDivision(iCounter, firstDivisor)) {
      document.getElementById("ngList").innerHTML +=
        checkDivision + ". True [3] <br>";
    } else if (checkDivision(iCounter, secondDivisor)) {
      document.getElementById("ngList").innerHTML +=
        checkDivision + ". True [5] <br>";
    } else {
      document.getElementById("ngList").innerHTML +=
        checkDivision + ". False <br>";
    }
  }
}
函数clickAlert2(){
var firstDivisor=3;
var二次除数=5;

对于(var iCounter=1;iCounter,您的checkDivision是一个布尔变量,而不是一个函数。因此,您只需在if和else if语句中将其作为表达式传递即可

if(checkDivision){.....}
另外,对于一个嘶嘶的嗡嗡声,你可以做一个这样的函数

function fizzbuzz(num){
  if(num % 3 === 0 && num % 5 === 0)
     return "FizzBuzz";
  else if(num % 3 === 0)
     return "Fizz";
  else if(num % 5 === 0)
     return "Buzz";
  else return "none";
}

现在,您可以比较此函数返回的字符串,以确切知道它是fizz、Buzz还是fizzbuzz

您的checkDivision是一个布尔变量,而不是一个函数。因此,只需在if和else if语句中将其作为表达式传递即可

if(checkDivision){.....}
另外,对于一个嘶嘶的嗡嗡声,你可以做一个这样的函数

function fizzbuzz(num){
  if(num % 3 === 0 && num % 5 === 0)
     return "FizzBuzz";
  else if(num % 3 === 0)
     return "Fizz";
  else if(num % 5 === 0)
     return "Buzz";
  else return "none";
}

现在,您可以比较此函数返回的字符串,以准确知道它是嘶嘶声、嗡嗡声还是嘶嘶声

我可以从您的代码段中了解到,您试图检测1-140之间的数字,这些数字可以被3(
第一除数
)和5(
第二除数
)整除.您需要通过1-140的循环和一个函数(
checkDivision
)函数来确定给定的数字是可被3和5整除的数字

function clickAlert2() {

  function checkDivision(counter, divisor) {

    return (counter % divisor === 0);
  };

  var firstDivisor = 3,
    secondDivisor = 5;

  for (var iCounter = 1; iCounter <= 140; iCounter++) {

    //check divsible by both divisors
    if (checkDivision(iCounter, firstDivisor) && checkDivision(iCounter, )) {
      document.getElementById("ngList").innerHTML +=
        iCounter + ". True [" + firstDivisor + " " + secondDivisor + "] <br>";
    }

    //check divible by first divisor
    else if (checkDivision(iCounter, firstDivisor)) {
      document.getElementById("ngList").innerHTML +=
        iCounter + ". True [" + firstDivisor + "] <br>";
    }
    //check divible by second divisor
    else if (checkDivision(iCounter, secondDivisor)) {
      document.getElementById("ngList").innerHTML +=
        iCounter + ". True [" + secondDivisor + "] <br>";
    }
    //cannot divisible either divisors
    else {
      document.getElementById("ngList").innerHTML +=
        iCounter + ". False <br>";
    }
  }
}
函数clickAlert2(){
函数校验除法(计数器、除数){
返回(计数器%除数===0);
};
var firstDivisor=3,
第二除数=5;

对于(var iCounter=1;iCounter我可以从您的代码段了解到,您试图检测1-140之间的数字,这些数字可以被3(
第一除数
)和5(
第二除数
)整除。您需要通过1-140的循环和一个函数(
检查除法
)决定给定数的函数是可被3和5整除的数

function clickAlert2() {

  function checkDivision(counter, divisor) {

    return (counter % divisor === 0);
  };

  var firstDivisor = 3,
    secondDivisor = 5;

  for (var iCounter = 1; iCounter <= 140; iCounter++) {

    //check divsible by both divisors
    if (checkDivision(iCounter, firstDivisor) && checkDivision(iCounter, )) {
      document.getElementById("ngList").innerHTML +=
        iCounter + ". True [" + firstDivisor + " " + secondDivisor + "] <br>";
    }

    //check divible by first divisor
    else if (checkDivision(iCounter, firstDivisor)) {
      document.getElementById("ngList").innerHTML +=
        iCounter + ". True [" + firstDivisor + "] <br>";
    }
    //check divible by second divisor
    else if (checkDivision(iCounter, secondDivisor)) {
      document.getElementById("ngList").innerHTML +=
        iCounter + ". True [" + secondDivisor + "] <br>";
    }
    //cannot divisible either divisors
    else {
      document.getElementById("ngList").innerHTML +=
        iCounter + ". False <br>";
    }
  }
}
函数clickAlert2(){
函数校验除法(计数器、除数){
返回(计数器%除数===0);
};
var firstDivisor=3,
第二除数=5;

对于(var iCounter=1;iCounter,这就是您要寻找的吗

函数clickAlert2(){
var firstDivisor=3;
var二次除数=5;
var checkDivision=函数(计数器、除数){
返回计数器%除数===0;
};

对于(var iCounter=1;iCounter,这就是您要寻找的吗

函数clickAlert2(){
var firstDivisor=3;
var二次除数=5;
var checkDivision=函数(计数器、除数){
返回计数器%除数===0;
};


对于(var iCounter=1;iCounter旧代码立即可读。你的新代码令人难以置信地不可读,它给你带来了问题,因此…我要说的是坚持使用你以前的干净代码。
checkDivision
不是一个函数-它是计算的当前结果g
iCounter%firstdivisior==0 | | iCounter%seconddivisior==0;
Y我们的checkDivision变量是一个布尔值,或者是一个函数?旧代码是可以立即读取的。您的新代码令人难以置信地不可读,这会给您带来问题,因此…我要说的是,请坚持使用以前的干净代码。
checkDivision
不是一个函数-它是求值的当前结果g
iCounter%firstdivisior==0 | | iCounter%secondDivisor==0;
您的checkDivision变量是一个布尔值,还是一个函数?好吧,这似乎可以让它计数140次,并显示true和false。我唯一剩下的问题是,我是否可以让它显示被除数,并将true和false留给我的“描述”?由于循环的每次迭代中,变量iCounter中包含的数字都是被除的数字,因此您可以使用iCounter变量用于您的目的。同样,在该解决方案中,它似乎不会显示可被5除的数字,所有的真值都被3除。我在答案中包含了一个函数作为举例来说,请看一看是的,我以前有过这种方法,它是有效的,我只是想找到一种方法,让它用变量来代替。这样我可以提高它的灵活性多一点。好的,这似乎可以让它计数140次,并显示真假。我唯一剩下的问题是我是否可以让它显示被分割的数字,并将true和false留给我的“描述”?由于循环的每次迭代中,变量iCounter中包含的数字都是被除的数字,因此您可以使用iCounter变量用于您的目的。同样,在该解决方案中,它似乎不会显示可被5除的数字,所有的真值都被3除。我在答案中包含了一个函数作为举例来说,请看一看是的,我以前就有过这种方法,而且它是有效的,我只是想找到一种方法,让它用变量来代替。这样我可以稍微提高它的灵活性。好的,这几乎奏效了!我现在唯一的问题是,应该被5整除的数字显示为可以被3整除…@scienceofburnedited这使输出显示几乎所有输出为False,将唯一的true语句限制为可被5和3整除。你的问题是什么?你想显示可被3整除的数字还是可被3和5整除的数字?我想显示可被3整除的数字为true,我还想显示d如果可以被5整除为真,那么不能被这两个变量整除的任何其他数字都需要显示为假。好的,这几乎可以工作了