Javascript 超过10后获取等于0的数值
我用html和javascript编写了这段代码 我想增加Javascript 超过10后获取等于0的数值,javascript,html,Javascript,Html,我用html和javascript编写了这段代码 我想增加“#字段”中显示的值,使其在达到值10后从0开始。(不是显示11,而是从0开始) 和这个条件一样,如果值小于0,我希望它从10开始 谢谢 var值=0; /*添加函数*/ 函数add(){ 值++; document.getElementById(“字段”).innerHTML=value; } /*负函数*/ 函数负(){ 价值--; document.getElementById(“字段”).innerHTML=value; } /
“#字段”
中显示的值,使其在达到值10后从0开始。(不是显示11,而是从0开始)
和这个条件一样,如果值小于0,我希望它从10开始
谢谢
var值=0;
/*添加函数*/
函数add(){
值++;
document.getElementById(“字段”).innerHTML=value;
}
/*负函数*/
函数负(){
价值--;
document.getElementById(“字段”).innerHTML=value;
}
/*从0重新开始的条件*/
如果(值>10){
数值=0;
document.getElementById(“字段”).innerHTML=value;
}
0使用条件验证要显示的值的值。如果该值大于10,则将该值重置为0,反之亦然
var值=0;
/*添加函数*/
函数add(){
如果(值==10){//条件1
值=-1;
}
值++;
document.getElementById(“字段”).innerHTML=value;
}
/*负函数*/
函数负(){
如果(值==0){//条件2
数值=11;
}
价值--;
document.getElementById(“字段”).innerHTML=value;
}
0
只需检查add()
函数中的值是否大于或等于10,如果大于或等于10,则将其设置为0,并在减号()
函数中检查值是否小于或等于0,如果是,则将其设置为10
var值=0;
/*添加函数*/
函数add(){
如果(值>=10){
数值=0;
}否则{
值++;
}
document.getElementById(“字段”).innerHTML=value;
}
/*负函数*/
函数负(){
如果(值10){
数值=0;
document.getElementById(“字段”).innerHTML=value;
}
0
说明:
add()
检查值是否小于10,如果true
则增加值。一旦值达到10,则此条件块将为false
并设置value=0
减号()
检查值是否大于0,如果true
则减小该值。一旦该值达到0,则该块将false
并设置value=10
下面是+
和-
两个按钮的工作代码:
var值=0;
/*添加函数*/
函数add(){
如果(值<10){
值++;
}否则{
数值=0;
}
document.getElementById(“字段”).innerHTML=value;
}
/*负函数*/
函数负(){
如果(值>0){
价值--;
}否则{
数值=10;
}
document.getElementById(“字段”).innerHTML=value;
}
0
我通过将条件放在一个单独的函数中来实现,并且我必须从其他两个函数中调用它
var值=0;
/*添加函数*/
函数add(){
值++;
document.getElementById(“字段”).innerHTML=value;
cdn();
}
/*负函数*/
函数负(){
价值--;
document.getElementById(“字段”).innerHTML=value;
cdn();
}
/*从0重新开始的条件*/
函数cdn(){
如果(值>10){
数值=0;
document.getElementById(“字段”).innerHTML=value;
}
如果(value有很多方法可以解决您的问题。一种方法是按照其他答案中的描述,将支票作为递增(加法)和递减(减法)函数的一部分。这些都是非常好的解决方案,应该在实践中使用,因为它们(1)有效,(2)易于理解
然而,这是一个展示模运算符的美丽的好机会,%
。
模给出除法运算的余数,因此5%3=2
,或5除以3剩下2。这里有一个更深入的例子,但只要我们理解它只是给出
剩下的我们都会没事的
模运算非常有助于循环通过数值环,例如数字0-10,然后返回到0。我们将看看需要多长时间,但首先让我们看看其他一些解决方案。假设计数器从9开始,使用
增量函数
函数add(){value++;};
在两次调用add
后,您将是11岁,就像您在代码中看到的那样
然后你写了更好的函数,
当value=9
时,add\u limited
将加1,然后取剩余的模11。
因为10不能被分成11块,10%11=10
值将为10。当
我们再次调用add\u limited
,我们添加1并再次获取余数。11可以被11精确分解,因此我们没有余数,11%11=0
。这使得
值0而不是11。除10之外的所有值都像正常值一样添加1,因为它们都小于11。10循环返回到0,完全符合要求
现在,尽管我们想庆祝一下,因为我们刚刚做了一件很酷的事情,但还有一件事需要考虑:消极的一面。就像递增函数在高于10时需要环绕,递减函数在低于0时需要环绕。让我们从value=1
开始,跳到减法ecked
。
当value>0
时,它会像往常一样递减,当value=0
时,它会循环。让我们试着制作一个模数版本(我们将负数_选中_三值
留给读者)
函数减号\u limited\u breaked(){value=(value-1)%11;};
正如您可能已经猜到的,这个版本被破坏了,当value=0
,-1%11=-1
时。不幸的是,javascript余数不会像转换负数一样转换为正数。但是我们可以手动操作。假设我们在答案中添加了11。那么0会变成10而不是-1,但1会变成11而不是0,2会变成12
function add_checked() {
if (value < 10) { // handle cases 0-9
value++;
} else {
value = 0; // handle case 10
}
};
function add_limited() { value = (value + 1) % 11; };
function minus_checked() {
if (value > 0) { // handle cases 1-10
value--;
} else {
value = 10; // handle case 0
}
};