課程
/前端開發
/JavaScript
/JavaScript深入淺出
我理解的是1,2,3,4,5,67,8,9,
2018-07-10
源自:JavaScript深入淺出 2-2
正在回答
++i 的效果等價于 i = i + 1,所以 n[i] = ++i 這樣會直接影響到 for 循環里 i 的值,for 循環實際只循環了 5 次,i 的值依次為 0, 2, 4, 6, 8:
//?第1次。上一次?i?的值為?0,i?在循環初始?(0++)?為?0 n[0]?=?(i?=?0?+?1); //?此時?i?變成了?1;?n?為?[1] //?第2次。上一次?i?的值為?1,i?在循環初始?(1++)?為?2 n[2]?=?(i?=?2?+?1);??//?跳過了?n[1] //?此時?i?變成了?3;?n?為?[1,?empty,?3] //?第3次。上一次?i?的值為?3,i?在循環初始?(3++)?為?4 n[4]?=?(i?=?4?+?1);??//?跳過了?n[3] //?此時?i?變成了?5;?n?為?[1,?empty,?3,?empty,?5] //?第4次。上一次?i?的值為?5,i?在循環初始?(5++)?為?6 n[6]?=?(i?=?6?+?1);??//?跳過了?n[5] //?此時?i?變成了?7;?n?為?[1,?empty,?3,?empty,?5,?empty,?7] //??第5次。上一次?i?的值為?7,i?在循環初始?(7++)?為?8 n[8]?=?(i?=?8?+?1);??//?跳過了?n[7] //?此時?i?變成了?9;?n?為?[1,?empty,?3,?empty,?5,?empty,?7,?empty,?9] //??第6次。上一次?i?的值為?9,i?在循環初始?(9++)?為?10,不滿足?i?<?10?的條件,for?循環結束。
問題出在第14行:
n[i]?=?++i;
++i 是自增運算,表示 i 先自加1,然后再賦值給 i,這樣?i 的值從每次都會自加1,從而導致數組 n 的索引不是連續的。改成下面這樣即可輸出你要的效果:
n[i]?=?i?+?1;
web_東 提問者
舉報
由淺入深學習JS語言特性,且解析JS常見誤區,從入門到掌握
2 回答老師,你這里的countMap什么意思,做什么用的
5 回答為什么99 in arr1可以返回true,而98 in arr1 返回的事flase
1 回答為什么??
3 回答為什么是undefined
4 回答你們有什么ide編寫javascript呢?Dreamweaver?哪一種好呢?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-07-11
++i 的效果等價于 i = i + 1,所以 n[i] = ++i 這樣會直接影響到 for 循環里 i 的值,for 循環實際只循環了 5 次,i 的值依次為 0, 2, 4, 6, 8:
2018-07-10
問題出在第14行:
++i 是自增運算,表示 i 先自加1,然后再賦值給 i,這樣?i 的值從每次都會自加1,從而導致數組 n 的索引不是連續的。改成下面這樣即可輸出你要的效果: