Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS] Problem z klasą w JS
Skie
post
Post #1





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

Ostrzeżenie: (0%)
-----


Witam, mam pewien problem z klasami z JS. Żeby najlepiej wytłumaczyć o co mi chodzi, napiszę za pomocą PHP to co chce w JS uzyskać:

  1. <?php
  2. function set($action, $param) {
  3.    $this -> {$action} = $param;
  4.    return $this;
  5. }
  6. ?>


Tylko, że zupełnie nie wiem jak to zrobić w JS:

Kod
klasa = {
    zmienna1: false,
    zmienna2: false,
    zmienna3: false,

    set: function(action, param) {
        // kod
        return this;
    }
};


Chodzi mi o to, zeby wywolanie czegos takiego:

klasa.set('zmienna1', '20');

ustawila metode zmienna1 z false na 20.

Czy może mi ktoś pomóc z tym?
Go to the top of the page
+Quote Post
lord_t
post
Post #2





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

Ostrzeżenie: (0%)
-----


Ja bym to zrobił tak: (wstawilem jako php zeby się kod nie powycinało spacji)
  1. <?php ?>
  2. <html>
  3. <head>
  4.  
  5. <script type="text/javascript">
  6.  
  7. klasa =  function(){
  8.    this.zmienna1=false;
  9.    this.zmienna2=false;
  10.    this.zmienna3=false;
  11.  
  12.    this.set=function(action, param) {
  13.        eval("this."+action+"="+param);
  14.    }
  15. };
  16.  
  17. function x(){
  18. k=new klasa()
  19.    k.set("zmienna1",27);
  20.    alert(k.zmienna1);
  21. }
  22.  
  23. </script>
  24. </head>
  25. <body>
  26.  
  27. <div onclick="x()">click</div>
  28.  
  29. </body>
  30. </html>
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




eval? A czy nie wiadomo, że każdy do każdego obiektu w JS można się odwoływać jak do tablicy?

Kod
this.set=function(action, param) {
       eval("this."+action+"="+param);
   }


:

Kod
this.set=function(action, param) {
       this[action] = param;
   }


Wiem, że stary temat, ale tak dla potomności. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 15:58