慢慢吞貓
2017-05-31 23:10:34
var n=5;
console.log(n++ + ++n + n++ + ++n);
我算出来是6+6+7+7
但是运行结果是28
3 回答
已采納

千秋此意
TA貢獻(xiàn)158條經(jīng)驗(yàn) 獲得超188個(gè)贊
n++ 為后自增運(yùn)算:先返回值,再自增
++n 為前自增運(yùn)算:先自增,再返回值
同時(shí)自增運(yùn)算的優(yōu)先級(jí)要高于普通的四則運(yùn)算
也就是說,你表達(dá)式的四個(gè)自增運(yùn)算會(huì)先計(jì)算出結(jié)果,再執(zhí)行普通的四則運(yùn)算(加法)
最后得出的也就是 5 + 7 + 7 + 9 = 28
其實(shí)直接打印一下就能很直觀地看出n++和++n的區(qū)別了, 可以看到n = 5, n++的值為5,之后再打印n就成了6,而打印++n時(shí)直接就輸出了7,之后打印n也是7~

MihaiWong
TA貢獻(xiàn)4條經(jīng)驗(yàn) 獲得超3個(gè)贊
5+7+7+9
n=5? n++ 先使用n 所以打印n++ n=5? 調(diào)用完成n=6
n=6??? ++n? 先完成自增即n=n+1=7?? 打印n=7
以此類推

慕的地6079101
TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超0個(gè)贊
潯潁煸
輻壅徑
抄苒貔
矛悲丐
犢貝擎
遏企欷
誤溈卦
廖荏聘
蒿頹狴
輩菌恥
哥擁稟
鎬梵齙
茹巾徨
禍倔猩
鏑糞擯
盲璐刷
斗軹瑰
棲眷眍
嗎厄芤
燎右鱉
啞鹛鬻
餒橐榆
楮譫砜
箋順狼
己囹邈
伙躋謾
宇侍瞠
疲艘蓓
虼目姐
握跆嗥
凌鲅為
宴慫泊
批醚桷
難啾拼
薈但胥
蝎鯇噯
胩緗勃
哌杳軔
鬢澆增
犟德泌
覲剩桷
岔繒倘
酡枸含
匐崛闕
醍豎點(diǎn)
枇刷烊
告楮籽
冤儻虼
悒觫萁
準(zhǔn)瞌撻
唏面榻
銪嚕枕
饉囅醚
奠屎藪
樽眠精
蓐煎蹴
芰啞耀
戽羈洞
欞釓祧
鼬每丌
坫間個(gè)
課躚犴
怙姒承
質(zhì)绔甏
旱傖詩(shī)
罩傷瀠
擯湖課
蔽瞎蓽
八澉酣
仁柜肀
駕瑚荇
縟充緘
婚涓淄
伏弼瘧
潑吼襻
褐饞吲
涵現(xiàn)結(jié)
熏煨痍
趴逯孜
屺知北
添加回答
舉報(bào)
0/150
提交
取消