我知道我可以简单地为此编写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
作为参数传递......
答案 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);