Javascript 如何计算一个变量并再次计数
我有一个Javascript 如何计算一个变量并再次计数,javascript,Javascript,我有一个var,我试图将它的值累加到100。当它达到100时,它应该返回到0。这是我的实验代码 var min = 0 - 1, max = 100 + 1, now = 0; var timer = setInterval(function(){ if(now <= max){ now++; console.log(now); }else if ( now >= min){ now--; consol
var
,我试图将它的值累加到100。当它达到100时,它应该返回到0。这是我的实验代码
var min = 0 - 1,
max = 100 + 1,
now = 0;
var timer = setInterval(function(){
if(now <= max){
now++;
console.log(now);
}else if ( now >= min){
now--;
console.log(now);
}
},500);
var min=0-1,
最大值=100+1,
现在=0;
var timer=setInterval(函数(){
如果(现在=分钟){
现在--;
console.log(现在);
}
},500);
代码一直工作到它计数到100,但它不会将其计数回0,并反复重复相同的过程
谁能告诉我我做错了什么,或者我是否完全做错了。你能解释一下我应该用什么方法吗?想想你在做什么。当计数上升到101时,它不会上升,因为if语句为false。所以你减少到100。但是在下一个循环中,第一个if语句再次为true,并且增加了
您可以在第一次减少时设置一个标志,并将该标志添加到第一个if条件中,这意味着一旦设置了标志,您就再也不会增加该值。想想您在做什么。当计数上升到101时,它不会上升,因为if语句为false。所以你减少到100。但是在下一个循环中,第一个if语句再次为true,并且增加了 您可以在第一次减少时设置一个标志,并将该标志添加到第一个if条件中,这意味着一旦设置了标志,您就不会再增加该值。请尝试以下操作:
var count = 'up';
var min = 0 - 1,
max = 100 + 1,
now = 0;
var timer = setInterval(function(){
if(count === 'up'){
if(now <= max){
now++;
}
else{
count = 'down';
now--;
}
}
else{
if(now >= min){
now--;
}
else{
count = 'up';
now++;
}
}
console.log('now: ' + now);
},500);
var计数='up';
var min=0-1,
最大值=100+1,
现在=0;
var timer=setInterval(函数(){
如果(计数=='up'){
如果(现在=分钟){
现在--;
}
否则{
计数='向上';
现在++;
}
}
log('now:'+now);
},500);
尝试此演示(计数到10以减少执行时间)
试试这个,请:
var count = 'up';
var min = 0 - 1,
max = 100 + 1,
now = 0;
var timer = setInterval(function(){
if(count === 'up'){
if(now <= max){
now++;
}
else{
count = 'down';
now--;
}
}
else{
if(now >= min){
now--;
}
else{
count = 'up';
now++;
}
}
console.log('now: ' + now);
},500);
var计数='up';
var min=0-1,
最大值=100+1,
现在=0;
var timer=setInterval(函数(){
如果(计数=='up'){
如果(现在=分钟){
现在--;
}
否则{
计数='向上';
现在++;
}
}
log('now:'+now);
},500);
尝试此演示(计数到10以减少执行时间)
使用变量
步骤=+1代码>将更改为步骤=-1代码>一旦达到最大值:
var min = 0,
max = 100,
step = +1,
now = 0;
var timer = setInterval(function(){
if(now >= max) {step = -1;}
if(now <= min) {step = +1;}
now += step;
console.log(now);
}, 20);
var min=0,
最大值=100,
步骤=+1,
现在=0;
var timer=setInterval(函数(){
如果(现在>=max){step=-1;}
如果(现在使用变量step=+1;
,一旦达到最大值,该变量将变为step=-1;
:
var min = 0,
max = 100,
step = +1,
now = 0;
var timer = setInterval(function(){
if(now >= max) {step = -1;}
if(now <= min) {step = +1;}
now += step;
console.log(now);
}, 20);
var min=0,
最大值=100,
步骤=+1,
现在=0;
var timer=setInterval(函数(){
如果(现在>=max){step=-1;}
如果(现在)这是我的荣幸!这是我的荣幸!