what is the difference between i+1 and i++?
function(i++) says put first i into the function after that increment i by 1. The only difference is the order of operations between the increment of the variable and the value the operator returns. So basically ++i returns the value after it is incremented, while i++ return the value before it is incremented.