Welcome to WebmasterWorld Guest from 54.162.91.86

Forum Moderators: open

Message Too Old, No Replies

# Why is i++ different from i+1?

## You're incrementing by one. I don't see the difference...

#### 1337Mac

7:09 pm on Apr 9, 2009 (gmt 0)

#### New User

joined:Mar 26, 2009
posts: 24

I was playing with this example on W3 Schools...

[w3schools.com...]

and I noticed that if you change the i++ part of the script to i+2 or even i+1 it causes an infinite loop.

Why on Earth would that be?

#### 1337Mac

7:12 pm on Apr 9, 2009 (gmt 0)

#### New User

joined:Mar 26, 2009
posts:24

Wait...
is it because you need to type i=i+1;
?

#### 1337Mac

7:14 pm on Apr 9, 2009 (gmt 0)

#### New User

joined:Mar 26, 2009
posts:24

D'oh! Yes... I understand now. Sorry for the n00b question.

#### DrDoc

7:16 pm on Apr 9, 2009 (gmt 0)

#### Senior Member

joined:Mar 15, 2002
posts:6807

``i++``
is short for
``i = i + 1``
, or
``i += 1``
. Simply saying
``i + 1``
does not actually increase the value of
``i``
.

`for(i = 0; i < 5; i++) {   document.write(i); } for(i = 0; i < 5; i+=1) {   document.write(i); } for(i = 0; i < 5; i+=2) {   document.write(i); }`

Those are all viable options.

#### astupidname

7:27 pm on Apr 9, 2009 (gmt 0)

#### Preferred Member

joined:Aug 18, 2008
posts:408

If you need the next level of understanding how incrementing of variables works, you may be interested in this thread also:
complete newbie - increments [webmasterworld.com]

#### 1337Mac

4:38 am on Apr 10, 2009 (gmt 0)

#### New User

joined:Mar 26, 2009
posts:24

Thank you both.

@astupidname: I browsed that thread (being a newbie I felt it was my duty) and I did learn something new! : Didn't realize you could do y=++x

#### jalarie

10:42 pm on Apr 10, 2009 (gmt 0)

#### Junior Member

joined:June 17, 2003
posts: 160

Also notice that i++ can produce different results from what you get with i+=1. The i++ forces i to be numeric and then adds 1 to it; the i+=1 may, in some situations, think that i is a character string and tack a 1 on the end.

#### coopster

11:05 pm on Apr 10, 2009 (gmt 0)

joined:July 31, 2003
posts:12547

Not to add confusion, but perhaps some enlightenment -- if you ever come across a single plus sign in front of a variable you are likely viewing an example of the unary [webmasterworld.com] operator.