var items = ['1', '2', 'callback', '4'];
var testCallback = function (item, items) {
var outputArray = [];
if (item == 'callback') {
for (i = 0; i < items.length; i++) {
outputArray.push(testCallback('5', items));
console.log(outputArray);
};
} else {
outputArray.push(item);
};
return outputArray.join(',');
};
var testFunction = function (items) {
var output = '';
for (i = 0; i < items.length; i++) {
console.log(i);
output += testCallback(items[i], items);
};
console.log(output)
};
testFunction(items);
Run Code Online (Sandbox Code Playgroud)
这是小提琴的例子.
我希望输出为125,5,5,54(5,5,5,5取代'回调').但是,对于语句(在testFunction()中),在'回调'之后终止,并且不进入items []中的最后一项,输出为125,5,5,5.
非常感谢任何帮助.谢谢
你的i循环变量是全局的,因此它在两个函数中共享.
更改每个for循环如下:
for (var i = 0; i < items.length; i++) {
Run Code Online (Sandbox Code Playgroud)
然后最终输出将按125,5,5,54预期进行.
| 归档时间: |
|
| 查看次数: |
29 次 |
| 最近记录: |