[JS] Tworzenie kodu klasy rozsądnie poprawnego

0

Cześć,

Ostatnio wyjątkowo dużo piszę o JS i jak to zwykle bywa przy takiej pracy pojawiają się problemy natury dywagacji uniwersyteckich, które mogą trwać w nieskończoność lub takich do których rozwiązanie można podać od razu.

Otóż interesuje mnie poprawność tworzenia klas ananimowych (tych nie anonimowych także) w JS. Pierwszym żutem na taśmę stworzyłem taki kawałek kodu:

var calender = new function() {
  this.close = function() {
    alert("OK");
  };
}

, który oczywiście działa. Tyle, że moja metoda dostępna jest jak robię coś takiego:

calender .close();

Zdecydowałem się, że moją metodę chcę schować by nie można było jej w ten sposób wywołać i powołałem do życia taki kawałek kodu:

var calender = new function() {
  this.close = function() {
    close_t();
  };

  var close_t = function() {
    alert("OK");
  };
}

Moja metoda oczywiście w dalszym ciągu działa tyle, że w ten sposób mogę ukryć jeszcze jakieś metody, które wywołuje z "close_t", a do których nie ma dostępu przez zewnętrzne wywołanie.

Tyle, że moja wiedza na temat JS jest uboga i nie wiem czy w takie rozwiązanie jest dopuszczalnym.

Pozdrawiam,
Grzegorz

0

Nie bardzo rozumiem co chcesz osiągnąć .. jednak możesz zadeklarować publiczne metody i prywatne

function MyClass {

var privatefunc=function() {
// prywatna
}

this.publicfunc=function(){
// publiczna
}


 var that=this;
}

Jeśli chcesz się odwołać z "wnętrza" metody prywatnej do instancji obiektu, nie pisz "this" tylko "that" :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1