for文といえば、以下の形が一般的ですね。
for(var i = 1; i <= 10; i++){ //ここに処理を書く }
上だと、なにがしかの処理を10回繰り返すプログラムです。
ところで、たとえば、googleのスプレッドシートで、1行ずつ見ていって、条件にあてはまる行を削除する処理を行いたいとしましょう。このとき、上のような形でfor文を回すと困ったことが起こることがあります。
単純な話なのですが、設定によっては、行を削除すると行数が減り、下にあった行がごっそり上に移動してきます。たとえば、8行目を削除したとすると、9行目以降が8行目以下にズラされるわけです。
次に見たいのは、もともと9行目にあったもの、つまり、ズレて8行目にやってきたものですよね。しかし、上の書き方では削除の処理を実行した時点でiが増えてしまうため、もともと10行目にあったものを見ることになります。1行飛ばされてしまうのです!
この事態を回避するためにはどうしたらよいでしょうか。実は、for文は、不要な制御部分は省略することができます。つまり、i++を制御部分から消して、カウントアップしたい部分にだけ書けばよい、ということになります。