1. 程式人生 > >前端經典面試題a++和++a 總結及自我解答(1)

前端經典面試題a++和++a 總結及自我解答(1)

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()算一算哦!