试图用var而不是数字简化javascript。我这样做完全错了吗?
为了简化代码,我尝试使用变量的模来进行FizzBuzz计算。他们应该数到140显示正确或错误 我以前的“如果”语句看起来是这样的(它起了作用): 我看到的示例如下所示:试图用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
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
不是一个函数-它是计算的当前结果giCounter%firstdivisior==0 | | iCounter%seconddivisior==0;
Y我们的checkDivision变量是一个布尔值,或者是一个函数?旧代码是可以立即读取的。您的新代码令人难以置信地不可读,这会给您带来问题,因此…我要说的是,请坚持使用以前的干净代码。checkDivision
不是一个函数-它是求值的当前结果giCounter%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整除为真,那么不能被这两个变量整除的任何其他数字都需要显示为假。好的,这几乎可以工作了