Javascript 我的js for循环在0之后停止?
我编写了一些js代码来循环浏览html文档,我的循环在0之后停止[这是循环的开始]Javascript 我的js for循环在0之后停止?,javascript,html,dom,for-loop,break,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(s
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;
}
}
}
for(i=0;i=0){
对于(i=jsBox;i您在这里重复使用了错误的变量。您在两个内部循环中重复使用i,重置其起始值,然后递增,直到它达到documentContent.length(可能大于10)。然后,outter循环语句将被发现为false(内部循环中的i值已更改),您将从中退出。
我建议您在内部循环中使用不同的变量,这样就不会影响外部循环。(虽然在这里检查outter语句之前,最后一个内部循环设置了I的最后一个值,但在任何一个循环中重复使用都是错误的,必须在两个中都进行更改)
这与代码中的代码有关吗
对
break;
语句在内部循环中是否也会中断外部循环
不可以。但是内部循环会修改外部循环的计数器变量。您应该使用不同的变量名,并且:
好的,jsBox>=0吗?谢谢,indexOf('[',jsBox')的jsBox的第二个参数是什么?
如果使用indexOf,如何获得'['
的位置?请阅读我链接的文档!第二个参数让您指定开始位置(如果您不想从开始搜索)找到的位置就是返回值
// 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;
}
}
}
var startJs = documentContent.indexOf('[', jsBox),
endJs = documentContent.indexof(']', startJs);