post increment vs pre increment - Javascript Optimization
increment, javascript, optimization
Solution
This is what I read and could answer your question: "preincrement (`++i`) adds one to the value of `i`, then returns `i`; in contrast, `i++` returns `i` then adds one to it, which in theory results in the creation of a temporary variable storing the value of `i` before the increment operation was applied".
Problem
I was browsing Google Code when I chanced upon this project called JSpeed - optimization for Javascript. I noticed one of the optimization was to change `i++` to `++i` in for loop statements. Before Optimization ``` for (i=0;i<1;i++) {} for (var i = 0, j = 0; i < 1000000; i++, j++) { if (i == 4) { var tmp = i / 2; } if ((i % 2) == 0) { var tmp = i / 2; i++; } } var arr = new Array(1000000); for (i = 0; i < arr.length; i++) {} ``` After optimization ``` for(var i=0;i<1;++i){} for(var i=0,j=0;i<1000000;++i,++j){if(i==4){var tmp=i>>1;} if((i&1)==0){var tmp=i>>1;i++;}} var arr=new Array(1000000);for(var i=0,arr_len=arr.length;i<arr_len;++i){} ``` I know what pre and post increments do, but any idea how does this speeds the code up?