在将函数添加到函数数组之前,将值存储在函数变量中的最佳(或优良)做法是什么?当声明函数存储在一个函数数组中的函数值时,为变量赋值value
例如,我们有一个计数器:
var f_counter = 0;
...我们有一个函数数组:
var a_func = [];
当我们添加一个函数到数组中,我们可以这样做:
a_func.push(
function(){
examplecallbackfunction(f_counter);
}
);
f_counter++;
这里是例子回调函数:
function examplecallbackfunction(c) {
<... code ...>
}
遍历和执行功能阵列:
var l = a_func.length;
while (l>0) {
var fnc=a_func[l-1];
fnc();
l--;
}
这里的问题是,执行函数数组当参数f_counter就是当前全局变量f_counter,并没有什么f_counter是当各个功能被添加到函数数组中。
我需要一个很好的做法,它将f_counter的当前值存储在函数定义中,然后将其分配给函数数组,并且在迭代和执行数组中的函数时,它应该使用该值调用回调函数存储。
我需要一种方法来做到这一点,而不需要将各个值存储在全局变量中,因为我根据用户交互加载了一些异步,所以我从不知道“事先”会存储多少个以及哪种类型的函数函数数组。某些函数可能会有比f_counter更多的变量,等等......
太好了!谢谢你,这看起来很有前途,而且方法简单,正是我期待的! – Plarsen