我有多个使用相同循环代码的函数,我想知道是否有可能通过使用一个循环函数来简化代码,所以我可以通过调用想要的函数名称来执行代码。使用循环功能简化代码
现在:
for(var i=0;i<all;i++){ someFunction(i) }
极品:
cycle(someFunction);
function cycle(name){
for(var i=0;i<all;i++){
name(i);
}
}
我试图通过使用“窗口”要做到这一点,我没有错误,但不会执行该功能。
var MyLines = new lineGroup();
MyLines.createLines(); // works
MyLines.addSpeed(); // doesn't work
var lineGroup = function(){
this.lAmount = 5,
this.lines = [],
this.createLines = function(){
for(var i=0,all=this.lAmount;i<all;i++){
this.lines[i] = new line();
}
},
this.addSpeed = function(){
// no error, but it's not executing addSpeed function
// if i write here a normal cycle like in createLines function
// it's working ok
this.linesCycle("addSpeed");
},
this.linesCycle = function(callFunction){
for(var i=0,all=this.lAmount;i<all;i++){
window['lineGroup.lines['+i+'].'+callFunction+'()'];
}
}
}
var line = function(){
this.addSpeed = function(){
console.log("works");
}
}
工程就像一个魅力;) – wyy