前端經典面試題a++和++a 總結及自我解答(1)
阿新 • • 發佈:2019-01-04
1. 如果 a=1 ; b = a++ + (a++) + 1 + (++a) + (a++) + (++a) + a + (++a) = ? 並且這時候a =?
解答: 先說 a =? 首先求a , 有一個極簡單的方法,個人總結啊: 把 ++a 和 a++ 看成是同一種特殊型別的東西,有幾個這種特殊型別的東西,則初始值就加上幾個1;看一看一共有6個++a或a++這樣的特殊型別,則a = 1+6=7
至於求和,++a就是正常中的a+1 ; 但是,a++則是在加他的時候,前一個a=啥,a++就等於啥!但是下一個a 則要提前加1 啦!
b = a++ + (a++) + 1 + (++a) + (a++) + (++a) + a + (++a) ;
b = 1 + 2 + 1 + 4 + 4 + 6 + 6 + 7 = 31;
再來一道題:a=1; b = (++a) + a + (a++) + a + (++a) + (++a) + (a++) = ? 問a = ?
一共有5個特殊型別 則a= 1+5 = 6 ;
b = (++a) + a + (a++) + a + (++a) + (++a) + (a++)
b = 2 + 2 + 2 + 3+ 4 + 5 + 5 = 23 可以用console.log()算一算哦!