javascript - 我的 js for 循环在 0 之后停止?

标签 javascript html dom for-loop break

我编写了一些js代码来循环遍历html文档,我的循环只是在0之后停止[这是循环的开始]

for (i=0;i<10;i++) {
    if (jsBox >= 0) {
        for (i=jsBox;i<documentContent.length;i++) {
            if (documentContent[i] == '[') {
                startJs = i;
                console.log(startJs);
                break;
            }
        };
    } else {
        console.log('Note: no js container found');
    }

    //find end of css
    for (i=startJs;i<documentContent.length;i++) {
        if (documentContent[i] == ']') {
            endJs = i;
            console.log(endJs);
            break;
        }
    }
}

和代码里面的代码有关系吗?内循环中的break;语句是否也会破坏外循环,如果是的话,我怎样才能只跳出一个循环? -谢谢

最佳答案

Is it something to do with the code inside the code?

是的。

Does break; statement in the inner loop also break the outer loop

没有。但内循环确实修改了外循环的计数器变量。您应该使用不同的变量名称,并且 local variables :

// assuming already declared: jsBox, documentContent, startJs, endJs
for (var i=0;i<10;i++) {
    if (jsBox >= 0) {
        for (var j=jsBox; j<documentContent.length; j++) {
            if (documentContent[j] == '[') {
                startJs = j;
                console.log(startJs);
                break;
            }
        }
    } else {
        console.log('Note: no js container found');
    }

    //find end of css
    for (var j=startJs; j<documentContent.length; j++) {
        if (documentContent[j] == ']') {
            endJs = j;
            console.log(endJs);
            break;
        }
    }
}

顺便说一句,旧版 IE 不支持括号表示法来访问字符串的字符。你最好使用简单的 indexOf String method比那些循环:

var startJs = documentContent.indexOf('[', jsBox),
    endJs = documentContent.indexof(']', startJs);

关于javascript - 我的 js for 循环在 0 之后停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18233651/

相关文章:

javascript - 如何用不同的类名包装 DIV 标签?

javascript - Css - 如果元素到达屏幕上的某个位置,如何更改元素大小?

html - 在 bootstrap 4 中以最大宽度居中的主体

javascript - 为什么我的 getParentNode 函数返回未定义?

javascript - Django:从静态文件目录中的js引用静态文件

javascript - 有什么方法可以使用 Javascript 设置 Jquery UI Mobile 导航栏状态?

javascript - 如何在 SPAN 旁边的 DIV 中获取文本

javascript - Laravel - 如何包含外部JS文件(包含Ajax)

javascript - 如何在不刷新laravel页面的情况下发送数据?

javascript - 根据输入值(HTML、JavaScript)生成表代码(不是表)