使用这个非常简单的代码:
<body>
<script>
var j;
j=0;
do {
document.write("J="+j+" ");
j++;
if (j=4) {
break;
}
}
</script>
</body>
我收到一个错误:Uncaught SyntaxError:在脚本结束时意外结束输入。这是因为我试图使用break从循环中跳出来。
当然这不是我正在研究的代码,这更复杂,需要突破。我知道在这种情况下,while循环或for循环会成功。这只是我显示错误的最小代码。
括号是平衡的,括号是平衡的,为什么说它不完整?
附:我也尝试了这个与函数相同的代码,在关闭函数的大括号上接收错误Uncaught SyntaxError:Unexpected token}。
Javascript中的do
语句期望相应的while
表达式。
EG
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