Discuss
/
JavaScript
/
循环小问题。。。
循环小问题。。。
Topic source你两段程序执行结束后,x都是101
输出的100和101分别是程序最后的一条语句:x++和x的返回值
第一段程序中,x++的返回值是执行加1运算前的值,所以是100 第二段程序中,x的返回值当然是101了
P.S. 如果你学过C语言等,就应该明白x++和++x的区别。如果第一段程序的最后一条语句为++x,那么结果也是101。
两段代码的结果x=101,这是事实;
我觉得你在这道问题里有两处误解: 1.虽然第一段代码的结果是100,但是x不是100,因为100不大于100,所以break不执行,break执行的时候,x已经是101了。 2.你可以试着理解以下2段小代码,如果理解了,就知道怎么回事了;
a、var x = 100; x++; b、var x = 100; x++; x;
你的两段代码都是在x=100的情况下输出的,不是101的情况下输出的,原因你也知道,是因为101的时候已经break了,所以下面代码不执行。所以你只要理解 2 里面的两个小代码就明白了
- 1
terry_404
var x = 0; for (;;) { // 将无限循环下去 if (x > 100) { break; // 通过if判断来退出循环 } x ++; } 100
var x = 0; for (;;) { // 将无限循环下去 if (x > 100) { break; // 通过if判断来退出循环 } x ++; x;//<------这个是我添加的 } 101
为什么下面那个结果x会+1?在循环里面他没有做运行啊