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