将参数传递给FOR循环

时间:2012-05-09 09:09:10

标签: javascript for-loop

我知道我可以简单地为此编写while循环..

我只是想知道如何传递这样的argument

   function i(a,z){

      for (a; a<2; z){

          //do something...

      }
   }

我试过

    i(0,a++);
    i(0,'a++');
    i(0,a=a+1);


    var z = "a= a+1";
    i(0,z);

并且都没有用。


[UPDATE]

我知道我可以将功能改为

   function i(a,z){

      for (a; a<2; a=a+z){

          //do something...

      }
   }

然后

  i(0,1);

但我想知道的是如何在不改变我的功能的情况下将a=a+z作为参数传递......

3 个答案:

答案 0 :(得分:4)

也许你想要这个变种?

function i(start, end, delta){

      for (var i = start; i<end; i += delta) {

          //do something...

      }
}

使用i(0, 10, 1)

答案 1 :(得分:0)

我不确定我是否理解正确,但我想你会想要这样的事情:

function i(a, z){
    for (a; a < 2; a = z(a)){
        //do something...
    }
}

然后你这样称呼它:

i(0, function(a) { 
     a++; 
     return a;
});

请注意,除了for的最后一部分是函数之外,它与你的非常相似。

答案 2 :(得分:0)

function i(o){
    for (; o.a<2; o.z()){
        //do something...
        console.log('x');
    }
}
var o = {
    a:0, 
    z:function(o) {
        this.a++
    }
};

i(o);