Welcome to WebmasterWorld Guest from 54.160.163.163

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)

5+ Year Member



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)

5+ Year Member



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

1337Mac

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

5+ Year Member



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

DrDoc

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

WebmasterWorld Senior Member drdoc is a WebmasterWorld Top Contributor of All Time 10+ Year Member



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)

5+ Year Member



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)

5+ Year Member



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)

10+ Year Member



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)

WebmasterWorld Administrator coopster is a WebmasterWorld Top Contributor of All Time 10+ Year Member



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.
 

Featured Threads

Hot Threads This Week

Hot Threads This Month