Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 超过10后获取等于0的数值_Javascript_Html - Fatal编程技术网

Javascript 超过10后获取等于0的数值

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; } /

我用html和javascript编写了这段代码

我想增加
“#字段”
中显示的值,使其在达到值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
    }
};