我在for循环中有一个函数。就像;
function a(){
var i=0;
var endNumber= data.number;
for(;i=!endNumber;i++){
//doing stuff
}
}
因此,我想当函数调用“ i”值时再次获得“ i”值的结尾。因为data.number
总是在变化。
答案 0 :(得分:1)
您可以这样做
let data = { number: 5 };
function a() {
var i = 0;
return function() {
var endNumber = data.number;
for (; i !== endNumber; i++) {
console.log(i);
}
console.log('done');
}
}
const func = a();
func();
data = { number: 10 };
func();
答案 1 :(得分:1)
可以在循环外部声明i
,以使其独立于函数调用:
var i = 0;
funcion a() { /*...*/ }
或者从函数中返回i
并在下次传递它(可能会更简洁):
function a(i = 0) {
while(i !== data.number) {
//...
i++;
}
return i;
}
所以一个人可以做
var prev = a();
a(prev);