今天做阶段测验,有道关于自增、自减的题目把我难住了,题目如下:
let e = 10
let f = e++ + ++e + e++ + ++e
console.log(f) // 48
看到这题的第一感觉就是一脸懵逼,不知道如何下手,但是作为一个不死心的人,只有把他研究透彻了,我才放手。这道题考到的是js的前置自增和后置自增的语法,我们首先对前置自增和后置自增的概念了解下:
前置自增(++i):简单说,前置自增就是先运算再赋值(等于自增前的值)
后置自增(i++):后置自增就是先赋值再运算(等于自增后的值)
了解了相关概念后,我们再看看这道题:
e的初始值为:10;这到了e++这里因为他等于自增前的值所以他是10。到了++e后,因为e++在经过运算后进行了自增的赋值,所以此时++e的值为12,一次类推e++ + ++e + e++ + ++e也就是10 + 12 + 12 + 14 = 48。
大家懂了吗?留言讨论~