Tworzenie obiektów JS z wykorzystaniem konstruktora Drukuj
Ocena użytkowników: / 0
SłabyŚwietny 
Wpisany przez Patryk yarpo Jar   
niedziela, 11 października 2009 22:33

W językach obiektowych takich jak Java czy C++, gdzie obiekty tworzy się wykorzystując jako wzorzec klasę, bardzo ważną rzeczą staje się konstruktor. W JS na dobrą sprawdę konstruktor nie jest potrzebny. Można tworzyć obiekty, które nie posiadają jawnie zadeklarowanego konstruktora (choćby przez literał obiektowy).
Jeśli jednak ktoś jest bardzo przywiązany do konstruktorów (jak choćby ja) może stworzyć konstuktor:

var MyObjConstr = function(a, b) {


    this.func = function() {

        alert('My func1!');

    }


    this.a = a;

    this.b = b;

};

var MyObj = new MyObjConstr(1, 'ala ma kota');

MyObj.func();

alert(MyObj.a);

MyObj.a = 10;

alert(MyObj.a);


Jak widać wykorzystaliśmy tu operator new. Niektórzy, bardzo doświadczeni i znający się na rzeczy programiści JS - uważają, że używanie tego operator jest błędne - zaciemnia prawdziwą naturę języka.

Jeśli jednak chcesz tworzyć obiekty w wyżej opisany sposób, to należy używać operatora new.