我有个问题。
我需要一个Javascript函数,它将变量值增加(递增) 4,当变量值为20时,然后将变量的值设置为0,并再次将其递增4,依此类推…
我认为我需要for循环和if条件,但我不知道如何实现它……
示例
结果必须是:
x= 0;然后x= 4,x= 8,x= 12,x= 16,x= 20,x= 0,x=4....
谢谢
发布于 2012-08-01 14:03:28
您可以使用一对嵌套的循环来完成此操作:
while (true) {
for (var x = 0; x <= 20; x += 4) {
// use x
}
}
这将比使用mod (%
)运算符更有效。
编辑
从您的评论来看,您似乎希望以增量方式生成序列,而不是循环生成序列。下面是一个函数,它将返回一个函数,该函数将在每次调用时生成序列的下一个元素:
function makeSequence() {
var x = 20; // so it wraps to 0 first time
return function() {
if (x == 20) { x = 0 }
else { x += 4 }
return x;
}
}
然后您可以像这样使用它(在许多方法中):
var sequence = makeSequence();
// and each time you needed the next element of the sequence:
var x = sequence();
发布于 2012-08-01 14:04:17
这很容易通过加法运算符和模数%
的组合来解决。
x = 0;
//loop
x = (x+4)%24;
演示:http://jsbin.com/okereg/1/edit
发布于 2012-08-01 14:05:27
下面的内容会有所帮助
function fnAddVal(val) {
if (val >= 20)
return 0;
else
return val+4;
}
https://stackoverflow.com/questions/11753360
复制相似问题