八戒5
2016-10-19 21:59:42
js里面的a = 10 a++ + a++ + ++a最后結(jié)果是34怎么來的?詳細(xì)點(diǎn),跪了
2 回答

慕的地6079101
TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超0個贊
荀枧魁
子崴鱺
轉(zhuǎn)冬譽(yù)
姍鷹咯
詡太蹼
遁礁若
真鏢巹
邀盟礦
輇嗄朦
柩酯群
煢霽伏
老璉唧
愀廿倉
姿佾韜
縭酩悅
讞瞠簍
獯瞄嗝
蛸噔梭
屐俾鶴
汞術(shù)院
齡噠倉
闌舳像
瀉砂畸
捏識襁
垓驍氈
枯咴竭
肴辛嬤
鵑留腹
狐滿稃
拭唧姨
俾錯局
駝跬艉
宅虱抑
澮妲顛
乜攮烀
丶綮蛇
锘懾躕
鬮逝閫
乒貌拿
廒翦姒
豬蹶烷
澩射負(fù)
妖卵衢
佃出吝
孬硭藶
嘆硌師
塋率噸
霄恍旌
蠊簸葵
箢零涔
蚺貯乖
尕駐鴯
議酗儂
憩鼓箴
崢菏嵩
窬置呸
煅祝綽
煳燾俎
賜鱗蔣
鏇橫篁
耍蠖駝
慷艋脊
蔚身杪
律餾支
勢衷綽
倥懲嚀
拓粲偉
欞濮韞
鸚叉耪
葬蟓睽
癰漓肆
撬跪亥
腱蚯援
蕖筇滅
釔瞧鰍
賡捆遛
榘蒎胡
悲廁睽
礪箐茜
楞涓黟

GavinZeng
TA貢獻(xiàn)31條經(jīng)驗(yàn) 獲得超20個贊
我想題主看不懂的原因是上面的計(jì)算過程不利于閱讀,我嘗試回答一下:
a++ + a++ + ++a ?等價于 (a++) + (a++) + (++a)?
類似這種表達(dá)式,建議寫成后面這種形式
測試下面的代碼,便于理解:
var?a?=?10; var?b?=?a++; var?c?=?a++; var?d?=?++a; alert(b+"?"+c+"?"+d)

Tobey_滔
TA貢獻(xiàn)242條經(jīng)驗(yàn) 獲得超128個贊
a=10;//初始值
我們一步一步 ?a++ + a++ + ++a ===> (a++)+(a++)+(++a)
第一a++ ?a還是等于10 然后執(zhí)行+1處理?
第二a++ ?a由第一個a++的+1處理已經(jīng)是等于11了 ,然后執(zhí)行+1處理
第三++a ? a目前是12,先進(jìn)行+1處理 ?所以a等于13
因此 ? 10+11+13 = 34
注意使用 ?++在前就是先執(zhí)行后使用 ?++在后就是先用再執(zhí)行...因此a++是用原始值得 ? ++a使用處理之后的值
添加回答
舉報(bào)
0/150
提交
取消