Javascript 回调函数终止outerloop var items=['1','2','callback','4']; var testCallback=函数(项,项){ 变量输出阵列=[]; 如果(项==“回调”){ 对于(i=0;i

Javascript 回调函数终止outerloop var items=['1','2','callback','4']; var testCallback=函数(项,项){ 变量输出阵列=[]; 如果(项==“回调”){ 对于(i=0;i,javascript,Javascript,下面是一个例子 我希望输出是125,5,5,54(5,5,5,5替换“回调”)。但是for语句(在testFunction()中)在“callback”之后终止,并且不继续执行items[]中的最后一项,输出是125,5,5,5 非常感谢您的帮助。谢谢您的i循环变量是全局变量,因此它在两个函数中共享 按如下方式更改循环的每个: var items = ['1', '2', 'callback', '4']; var testCallback = function (item, items) {

下面是一个例子

我希望输出是125,5,5,54(5,5,5,5替换“回调”)。但是for语句(在testFunction()中)在“callback”之后终止,并且不继续执行items[]中的最后一项,输出是125,5,5,5


非常感谢您的帮助。谢谢您的
i
循环变量是全局变量,因此它在两个函数中共享

按如下方式更改循环的每个

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);
for(变量i=0;i


最终输出将如预期的那样为
125,5,5,54

您的
i
循环变量是全局变量,因此它在两个函数中共享

按如下方式更改
循环的每个

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);
for(变量i=0;i


最终输出将如预期的那样为
125,5,5,54

@TinyGiant,我是游戏!@TinyGiant,我是游戏!