Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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—将值增加4。_Javascript_Variables_Increment - Fatal编程技术网

Javascript—将值增加4。

Javascript—将值增加4。,javascript,variables,increment,Javascript,Variables,Increment,我有个问题 我需要一个Javascript函数,它将变量值增加(递增)4,当变量值为20时,将变量值设置为0,然后再次递增4,以此类推 我想我需要循环和if条件,但我不知道如何实现这个 范例 结果必须是: x=0;然后x=4,x=8,x=12,x=16,x=20,x=0,x=4 谢谢你你可以用一对嵌套的循环来实现这一点: while (true) { for (var x = 0; x <= 20; x += 4) { // use x } } 然后您可以

我有个问题

我需要一个Javascript函数,它将变量值增加(递增)4,当变量值为20时,将变量值设置为0,然后再次递增4,以此类推

我想我需要循环和if条件,但我不知道如何实现这个

范例

结果必须是:

x=0;然后x=4,x=8,x=12,x=16,x=20,x=0,x=4


谢谢你

你可以用一对嵌套的循环来实现这一点:

while (true) {
    for (var x = 0; x <= 20; x += 4) {
        // use x
    }
}
然后您可以这样使用它(在许多方法中):


这很容易通过加法运算符和模
%
的组合来解决

x = 0;
//loop
x = (x+4)%24; 
演示:

以下内容将有所帮助

function fnAddVal(val) {
     if (val >= 20)
            return 0;
     else
       return val+4;

}

对于循环,您可以尝试以下方法:

<html>
<body>
<script language="javascript">
int x = 0;
while ( x <= 20 ) 
{
    alert("The number is " + x)
    if ( x >= 20 ) 
    {
        x = 0;
    }
    x += 4;
}
</script>
</body>
</html>

int x=0;
while(x=20)
{
x=0;
}
x+=4;
}
简单

x = (x + 4) % 24;

你想要一个无限循环吗?什么?

@ErikE-使用模运算符,每次循环都涉及一个加法、一个除法和一个减法。嵌套循环只涉及一个加法运算(或每次通过外部循环进行常量赋值)。@TedHopp是正确的,这对性能有好处。我在jsPref上搜索了一个测试用例,(令人惊讶的是)有人以前测试过这两种方法。请自行查看:。你有我的投票权。。。希望其他人也能给这个方法更多的分数。当一个无限循环触发浏览器的“无响应脚本”消息时,性能是不相关的。@nnnnnn-好的,是的。外部循环是因为OP没有指定终止条件。此外,如果这是在WebWorker中,则不会产生浏览器投诉。:)@user1562652-应该只调用一次
makeSequence()
,然后反复使用返回的函数。只需调用
sequence()
,在其中插入小时值。这将永远不会提示x==0。我将此链接用于dojo createLine,我使用它绘制了几天的小时线(4h、8h、12h…)。。。所以,这将是另一个for循环,它将一个div分为几天。。。以下代码对我来说不起作用。。。因为,有人代码总是返回4,或返回0。。。。我需要一个函数,它返回小时线的值,examole Increment(4)-其中参数是增量的值,当然,返回的值必须记住,因为,总是相同的。。。你明白吗?
<html>
<body>
<script language="javascript">
int x = 0;
while ( x <= 20 ) 
{
    alert("The number is " + x)
    if ( x >= 20 ) 
    {
        x = 0;
    }
    x += 4;
}
</script>
</body>
</html>
x = (x + 4) % 24;