如何解决Java 和 JavaScript for 循环的区别
Java 程序
public class HelloWorld {
public static void main(String []args){
String str="XYZ ";
int i;
for(i=0;i<5;i++){
str+= + i;
System.out.println(str);
}
}
}
//Java 输出
XYZ 0
XYZ 01
XYZ 012
XYZ 0123
XYZ 01234
Javascript 程序
let str="XYZ ";
for(let i=0;i<5;i++){
str+=i+"<br>";
document.getElementById("demo1").innerHTML=str;
}
JavaScipt 输出
XYZ 0
1
2
3
4
我的疑问是: Java 和 JavaScript 中的 for 循环有什么区别。谁能解释一下 Javascript 中 for 循环 的流程? 提前致谢。
解决方法
在 JavaScript 中,您将 demo1
容器的整个内容设置为新字符串。在迭代结束时,元素只包含字符串中的最终值。
相比之下,在 Java 中,您在每次迭代时都记录并查看字符串,而不仅仅是最终值。
如果您在 JavaScript 中附加新的 HTML 标记而不是覆盖先前在容器中的内容,您将看到相同的输出:
let str = "XYZ ";
for (let i = 0; i < 5; i++) {
str += i;
demo1.innerHTML += str + '<br>';
}
<pre id="demo1"></pre>
或者,要更改 Java 以显示原始 JavaScript 的功能(无换行符),只需检查最终字符串:
for (i = 0; i < 5; i++) {
str += + i;
}
System.out.println(str);
,
是的,您没有在 Java 中字符串连接的末尾包含换行符。所以如果你想匹配JS,那就是:
public class HelloWorld{
public static void main(String []args){
String str="XYZ ";
int i;
for (i = 0; i < 5; i++) {
str += + i + "\n";
}
System.out.println(str);
}
}
其中“\n”相当于BR 换行符。此外,正如其他人提到的,您以不同的方式查看结果,println 每次调用时都会附加换行符,因此 ln。
输出:
> java -cp . HelloWorld
XYZ 0
1
2
3
4
在那里让我循环了一秒钟,以为我遗漏了一些关于 for 循环的东西!他们的行为是一样的,只是在 JS 端包含了换行符,而不是在 Java 端。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。