好程序員web前端教程分享初學者搞懂i++和++i
剛學習前端的同學,在學到++運算符的時候,都是一臉的懵
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???爲什麼?爲什麼?爲什麼?
下面我們一步一步的來看:
1、 var i = 10;
2 、i++; //等價於i=i+1
3 、console.log(i); //11
###++可以與輸出語句寫在一起,++寫在變量前和寫在變量後不是一個意思
i++ : 先用a的原值,然後i加1;
++i :先給a加1,然後用i的新值
1、 var i = 10;
2 、console.log(i++); //10 ,先引用原值,然後加1
等價於:
1 、 var i= 10;
2、 console.log(i); //先輸出i
3、 i++; //然後f加i
區別於:
1、 var i = 10;
2、 console.log(++i); //11 , 這次是先加1,然後輸出
++有點意思的玩法:
1 var i = 8;
2 console.log(4 + i++); //12 , 先使用原來的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 。++寫在後面,是先用再加
3 a += ++b; //先把b加1,b就是2了,a原來是2,加上2,就是4
4 console.log(a); //4
console.log(b); //2
1 var a = 3; //a的值是3
2 console.log(a++ + a++); //計算從左到右的,所以第一次a++時用的是3,a變爲4。
3 //第二次遇見a++的時候,a用的是4,變爲5
4 //3 + 4 所以輸出7
console.log(a); //輸出5
1 var a = 3;
2 console.log(a++ + ++a); //8
console.log(a); //5
總結:
其實++運算符非常的簡單,只要你記住一句口訣:++在前下自加後運算;++在後先運算後自加;然後在細心點就好了