In the following code, I would like to have a counter to keep track of the number of Person objects created. This code is not doing so, how would I accomplish that?
function Person(){
this.name = "Peter";
this.counter = this.counter + 1;
alert(this.counter);
}
Person.prototype.counter = 0;
var p1 = new Person;
var p2 = new Person;
Make the “static” variable a property of the
Personfunction, rather than theprototype, and usePersoninstead ofthisinside the constructor.This is possible because JavaScript functions are first-class (i.e. they are objects), so can have properties of their own.
Here’s a working example of the above code.