javascript有一种方法可以使用变量增加for循环

时间:2018-05-27 00:32:09

标签: javascript for-loop

我有一个函数 - 让我们称之为test(arg1,arg2),从program1调用,它执行许多操作并正常工作。在测试中有一个循环:

for(j=1;j<=top;j++) {
   stuff happens based on j 
}

我想从另一个程序调用test(arg1,arg2),比如program2。除了for循环之外,关于测试的所有内容对于这两个程序是相同的。对于program2,我需要该循环

for(j=2;j<=top;j+=2) {
   stuff happens based on j 
}

否则其他一切都完全相同。

第二个参数arg2告诉我们脚本是从program1还是program2调用的。但我无法弄清楚如何编写变量“for”语句。我尝试了一个基于arg2的if语句

var jstart = 1 or 2 
var jincr = '++' or '+=2'

然后将循环写为

for(j=jstart;j<=top;j jincr) {

这不起作用,虽然它是一种适用于其他语言的方法。

如果没有为这两种情况编写一个完全独立的脚本,有人可以建议我这样做吗?

2 个答案:

答案 0 :(得分:3)

就这么简单

jstart = 1 // or 2
jincr = 1 // or 2;
for(j=jstart;j<=top;j += jincr) {

答案 1 :(得分:1)

最可重用的方法是将循环放在一个接受增量作为参数的函数中:

function doStuff (inc) {
  for(var j = inc; j <= top; j += inc) {
    // stuff happens based on j 
  }
}

// Program 1
doStuff(1)

// Program 2
doStuff(2)