Skip to content

Commit 709c43b

Browse files
authored
Update solution.md
1 parent 6719568 commit 709c43b

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

  • 1-js/02-first-steps/12-while-for/2-which-value-while
Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
该任务演示在比较中 postfix/prefix 形式如何导致不同的结果
1+
这个题目展现了 i++/++i 两种形式在比较中导致的不同结果
22

33
1. **从 1 到 4**
44

@@ -7,25 +7,25 @@
77
while (++i < 5) alert( i );
88
```
99

10-
   第一个值是 `i=1`,因为 `++i` 首先递增 `i` 然后返回新值。因此先比较 `1 < 5` 然后 `alert` 显示 `1`
10+
第一个值是 `i = 1`,因为 `++i` 首先递增 `i` 然后返回新值。因此先比较 `1 < 5` 然后通过 `alert` 显示 `1`
1111

12-
   然后按照 `2,3,4…` —— 数值一个接着一个出现。比较总是使用递增值,因为 `++` 在变量前。
12+
然后按照 `2, 3, 4…` —— 数值一个接着一个被显示出来。在比较中使用的都是递增后的值,因为 `++` 在变量前。
13+
14+
最终,`i = 4` 时,在 `++i < 5` 的比较中,`i` 值递增至 `5`,所以 `while(5 < 5)` 不符合循环条件,循环停止。所以没有显示 `5`
1315

14-
   最终,`i=4` 递增到 `5`,当比较 `while(5 < 5)` 失败时,循环停止。所以没有显示 `5`。  
15-
1616
2. **15**
1717

1818
```js run
1919
let i = 0;
2020
while (i++ < 5) alert( i );
2121
```
2222

23-
第一个值也是 `i=1`。后缀形式 `i++` 递增 `i` 然后返回****值,因此比较 `i++ < 5` 将使用 `i=0` (与 `++i < 5` 不同)。
23+
第一个值也是 `i = 1`。后缀形式 `i++` 递增 `i` 然后返回 **** 值,因此比较 `i++ < 5` 将使用 `i = 0`(与 `++i < 5` 不同)。
2424

25-
   但 `alert` 调用是独立的。这是在递增和比较之后执行的另一条语句。因此它得到了当前的 `i=1`
25+
   但 `alert` 调用是独立的。这是在递增和比较之后执行的另一条语句。因此它得到了当前的 `i = 1`
2626

27-
   接下来是 `2,3,4…`
27+
   接下来是 `2, 3,4…`
2828

29-
   我们在 `i=4` 时暂停,前缀形式 `++i` 会递增并在比较中使用 `5`但我们这里还有后缀形式 `i++`。因此,它将 `i` 递增到 `5`,但返回旧值。因此实际比较的是 `while(4 < 5)` —— true控制继续执行 `alert`
29+
我们在 `i = 4` 时暂停,前缀形式 `++i` 会递增 `i` 并在比较中使用新值 `5`但我们这里是后缀形式 `i++`。因此,它将 `i` 递增到 `5`,但返回旧值。因此实际比较的是 `while(4 < 5)` —— true程序继续执行 `alert`
3030

31-
   `i=5` 是最后一个值,因为下一步 `while(5 < 5)`false
31+
`i = 5` 是最后一个值,因为下一步比较 `while(5 < 5)`false

0 commit comments

Comments
 (0)