剛學(xué)習(xí)前端的同學(xué),在學(xué)到++運(yùn)算符的時(shí)候,都是一臉的懵 var k = 10; console.log(k++ + ++k + k++) //34 var i = 10; console.log(++i + i++ + ++i) //35 console.log(i++ + ++i + i++) //43 ***way???為什么?為什么?為什么?*** 下面我們一步一步的來(lái)看: >1、 var i = 10; > >2 、i++; //等價(jià)于i=i+1 3 、console.log(i); //11 ###++可以與輸出語(yǔ)句寫(xiě)在一起,++寫(xiě)在變量前和寫(xiě)在變量后不是一個(gè)意思 >i++ : 先用a的原值,然后i加1; >++i :先給a加1,然后用i的新值 ``` 1、 var i = 10; 2 、console.log(i++); //10 ,先引用原值,然后加1 等價(jià)于: 1 、 var i= 10; 2、 console.log(i); //先輸出i 3、 i++; //然后f加i ``` 區(qū)別于: ``` 1、 var i = 10; 2、 console.log(++i); //11 , 這次是先加1,然后輸出 ``` ++有點(diǎn)意思的玩法: ``` 1 var i = 8; 2 console.log(4 + i++); //12 , 先使用原來(lái)的a的值,就是4+8,輸出12.然后a加1 3 console.log(i); //9 4 console.log(++i % 5); //0 , 先把i加1,然后使用i,10%5=0 5 console.log(i); //10 ``` ``` 1 var a = 1; //a的值1 2 var b = a++; //b的值是1,a的值是2 。++寫(xiě)在后面,是先用再加 3 a += ++b; //先把b加1,b就是2了,a原來(lái)是2,加上2,就是4 4 console.log(a); //4 console.log(b); //2 ``` ``` 1 var a = 3; //a的值是3 2 console.log(a++ + a++); //計(jì)算從左到右的,所以第一次a++時(shí)用的是3,a變?yōu)?/span>4。 3 //第二次遇見(jiàn)a++的時(shí)候,a用的是4,變?yōu)?/span>5 4 //3 + 4 所以輸出7 console.log(a); //輸出5 ``` ``` 1 var a = 3; 2 console.log(a++ + ++a); //8 console.log(a); //5 ``` 總結(jié): 其實(shí)++運(yùn)算符非常的簡(jiǎn)單,只要你記住一句口訣:++在前下自加后運(yùn)算;++在后先運(yùn)算后自加;然后在細(xì)心點(diǎn)就好了; |
|
來(lái)自: 好程序員IT > 《web前端培訓(xùn)教程》