JavaScript 输入意外结束并带有中断
JavaScript Unexpected end of input with a break
使用这个非常简单的代码:
<body>
<script>
var j;
j=0;
do {
document.write("J="+j+" ");
j++;
if (j=4) {
break;
}
}
</script>
</body>
我收到一个错误:Uncaught SyntaxError: Unexpected end of input 就在脚本的末尾。发生这种情况是因为我试图使用 break 跳出循环。
当然这不是我正在处理的代码,它更复杂并且需要中断跳转。我知道在这种情况下 do while 循环或 for 循环会成功。这只是我显示错误的最小代码。
圆括号平衡,大括号平衡,为什么说不完整?
P.S。我也试过这个与函数完全相同的代码,在关闭函数的大括号上收到错误 Uncaught SyntaxError: Unexpected token }。
do
Javascript 中的语句需要相应的 while
表达式。
例如
var j;
j=0;
do {
document.write("J="+j+" ");
j++;
if (j=4) {
break;
}
} while (true);
另外值得注意的是,if (j=4)
在 JS 中始终为真,您可能意味着 ===
用于比较而不是 =
用于赋值。 (正如评论中提到的 Adriani6)
不过,如果这是您正在使用的完整示例,那么删除 if 条件并像这样中断会更清晰:
var j;
j=0;
do {
document.write("J="+j+" ");
j++;
} while (j !== 4);
甚至更容易阅读:
for (let j = 0; j < 4; j++) {
document.write("J="+j+" ");
}
if (j=4) {
break;
}
应该是j==4
使用这个非常简单的代码:
<body>
<script>
var j;
j=0;
do {
document.write("J="+j+" ");
j++;
if (j=4) {
break;
}
}
</script>
</body>
我收到一个错误:Uncaught SyntaxError: Unexpected end of input 就在脚本的末尾。发生这种情况是因为我试图使用 break 跳出循环。
当然这不是我正在处理的代码,它更复杂并且需要中断跳转。我知道在这种情况下 do while 循环或 for 循环会成功。这只是我显示错误的最小代码。
圆括号平衡,大括号平衡,为什么说不完整?
P.S。我也试过这个与函数完全相同的代码,在关闭函数的大括号上收到错误 Uncaught SyntaxError: Unexpected token }。
do
Javascript 中的语句需要相应的 while
表达式。
例如
var j;
j=0;
do {
document.write("J="+j+" ");
j++;
if (j=4) {
break;
}
} while (true);
另外值得注意的是,if (j=4)
在 JS 中始终为真,您可能意味着 ===
用于比较而不是 =
用于赋值。 (正如评论中提到的 Adriani6)
不过,如果这是您正在使用的完整示例,那么删除 if 条件并像这样中断会更清晰:
var j;
j=0;
do {
document.write("J="+j+" ");
j++;
} while (j !== 4);
甚至更容易阅读:
for (let j = 0; j < 4; j++) {
document.write("J="+j+" ");
}
if (j=4) {
break;
}
应该是j==4