Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
61
rated 0 times [  66] [ 5]  / answers: 1 / hits: 72728  / 14 Years ago, thu, august 19, 2010, 12:00:00

I have a class similar to the one below. How do I call my init method when the object is created? I don't want to have to create an instance of my object then call initialize like I do below.



var myObj = new myClass(2, true);
myObj.init();

function myClass(v1, v2)
{
// public vars
this.var1 = v1;

// private vars
var2 = v2;

// pub methods
this.init = function() {
// do some stuff
};

// private methods
someMethod = function() {
// do some private stuff
};
}

More From » object

 Answers
24

NB. Constructor function names should start with a capital letter to distinguish them from ordinary functions, e.g. MyClass instead of myClass.



Either you can call init from your constructor function:



var myObj = new MyClass(2, true);

function MyClass(v1, v2)
{
// ...

// pub methods
this.init = function() {
// do some stuff
};

// ...

this.init(); // <------------ added this
}


Or more simply you could just copy the body of the init function to the end of the constructor function. No need to actually have an init function at all if it's only called once.


[#95869] Monday, August 16, 2010, 14 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ryanulyssesb

Total Points: 91
Total Questions: 105
Total Answers: 102

Location: England
Member since Tue, Sep 8, 2020
4 Years ago
ryanulyssesb questions
Sat, Mar 20, 21, 00:00, 3 Years ago
Mon, Sep 14, 20, 00:00, 4 Years ago
Mon, Mar 9, 20, 00:00, 4 Years ago
Sun, Jul 7, 19, 00:00, 5 Years ago
;