我有一个函数 - 让我们称之为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) {
这不起作用,虽然它是一种适用于其他语言的方法。
如果没有为这两种情况编写一个完全独立的脚本,有人可以建议我这样做吗?
答案 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)