js里面的a = 10 a++ + a++ + ++a最后结果是34怎么来的?详细点,跪了
2 回答
慕的地6079101
TA贡献3593条经验 获得超0个赞
荀枧魁
子崴鲡
转冬誉
姗鹰咯
诩太蹼
遁礁若
真镖卺
邀盟矿
辁嗄朦
柩酯群
茕霁伏
老琏唧
愀廿仓
姿佾韬
缡酩悦
谳瞠篓
獯瞄嗝
蛸噔梭
屐俾鹤
汞术院
龄哒仓
阑舳像
泻砂畸
捏识襁
垓骁毡
枯咴竭
肴辛嬷
鹃留腹
狐满稃
拭唧姨
俾错局
驼跬艉
宅虱抑
浍妲颠
乜攮烀
丶綮蛇
锘慑蹰
阄逝阃
乒貌拿
廒翦姒
猪蹶烷
泶射负
妖卵衢
佃出吝
孬硭苈
叹硌师
茔率吨
霄恍旌
蠊簸葵
箢零涔
蚺贮乖
尕驻鸸
议酗侬
憩鼓箴
峥菏嵩
窬置呸
煅祝绰
煳焘俎
赐鳞蒋
镟横篁
耍蠖驼
慷艋脊
蔚身杪
律馏支
势衷绰
倥惩咛
拓粲伟
棂濮韫
鹦叉耪
葬蟓睽
痈漓肆
撬跪亥
腱蚯援
蕖筇灭
钇瞧鳅
赓捆遛
榘蒎胡
悲厕睽
砺箐茜
楞涓黟
GavinZeng
TA贡献31条经验 获得超20个赞
我想题主看不懂的原因是上面的计算过程不利于阅读,我尝试回答一下:
a++ + a++ + ++a 等价于 (a++) + (a++) + (++a)
类似这种表达式,建议写成后面这种形式
测试下面的代码,便于理解:
var a = 10; var b = a++; var c = a++; var d = ++a; alert(b+" "+c+" "+d)
Tobey_滔
TA贡献242条经验 获得超128个赞
a=10;//初始值
我们一步一步 a++ + a++ + ++a ===> (a++)+(a++)+(++a)
第一a++ a还是等于10 然后执行+1处理
第二a++ a由第一个a++的+1处理已经是等于11了 ,然后执行+1处理
第三++a a目前是12,先进行+1处理 所以a等于13
因此 10+11+13 = 34
注意使用 ++在前就是先执行后使用 ++在后就是先用再执行...因此a++是用原始值得 ++a使用处理之后的值
添加回答
举报
0/150
提交
取消