The difference is that you actually define a function. In your variant the counter2 will still be in memory as the prototype for object c2.
Iffys are used when you only to create a single object of a certain type and not a prototype for later reuse.