I am creating a custom object to be used in some internal applications where I work. I researched some ways to go about doing this – and this is what I came out with.
function ISGrader(text)
{
this.text = text;
this.printInfo = function(){
alert("Object working " + text);
}
this.putGrade = function(score)
{
alert(score);
}
}
I believe this shows constructor-type functionality, as well as some simple starter methods that I will build on.
Is the above good practice or is there another way that is more standard?
I prefer a pattern similar to the one below. You can think of it as a 4-step approach:
The reason why everything is enclosed inside a self-executing anonymous function is to ensure the private variables we create inside don’t leak outside to the enclosing scope, and to basically keep things clean.
Another benefit of declaring the constructor like this is that you can change the parent object easily from say
windowto a further namespaced object by changing a single word.