• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Prośba o wyjasnienie kodu

Object Storage Arubacloud
0 głosów
163 wizyt
pytanie zadane 21 października 2015 w JavaScript przez tirex Gaduła (4,430 p.)

Witam,

 

Mógłby ktoś mi wytłumaczyć ten krótki kod:

function _KlasaObiektu(_width,_height) {  

    this.width = _width;  

    this.height = _height;

    this.wypisz = function() {

        alert(this.width + 'x' + this.height)

    }

}

 

3 odpowiedzi

+1 głos
odpowiedź 21 października 2015 przez writen Nałogowiec (29,060 p.)
edycja 21 października 2015 przez writen

W ten sposób tworzysz "klasę", na podstawie której możesz stworzyć wiele obiektów.

Np.

var obiekt = new _KlasaObiektu(100, 200);

Dzięki temu, że właściwości są przypisane do this, które wskazuje na nasz obiekt, możesz odwołać się do tych właściwości w taki sposób:

obiekt.width // będzie zawierało 100.

obiekt.height // będzie zawierało 200

Funkcja wypisz() to jest metoda tej klasy, którą możesz wywołać tak:

obiekt.wypisz() // wypisze: 100x200

Proste?

W ten sam sposób możesz stworzyć więcej obiektów.

+1 głos
odpowiedź 21 października 2015 przez furas Maniak (53,800 p.)

Przy wywołaniu np.

a = new _KlasaObjekt(10,20);

zostanie stworzony obiekt o nazwie `a` i zostaną mu przypisane własności `a.width` oraz `a.height` a tym własnościom nadane wartości przekazane w `_width` i `_height` (czyli tutaj to będzie odpowiednio 10 i 20)

Do tego jeszcze zostanie obiektowi przypisana funkcja `a.wypisz()`.

Odnośnie tego co napisałeś w jednym z komentarzy: powyższy kod nie powoduje wywołania funkcji tylko zdefinowanie funkcji i przypisanie jej do nazwy `wypisz`.

0 głosów
odpowiedź 21 października 2015 przez Dworki Nowicjusz (180 p.)
Przeczytaj o konstruktorach w JS, wszystko się wyjaśni.
komentarz 21 października 2015 przez tirex Gaduła (4,430 p.)

Ok.Spóbuje to sam wyjasnic,jak cos zle napisze to prosze mnie poprawić:)

function _KlasaObiektu(_width,_height) {  

To jest funkcja(metoda) o nazwie _klasaobiektu posiadając własciwosci :width  i height

this.width = _width;  //tego zapisu do konca nie rozumiem.

 

this.height = _height;  //Tego tez nie

this.wypisz = function(){ //tu chyba wywołujemy funkcje(metode).

alert(this.width + 'x' + this.height); //a tu ją wypisujemy

}

komentarz 21 października 2015 przez Rafał Matuszczak Początkujący (340 p.)
brak mi deklaracji obiektu "this", którego we funkcji modyfikowane są własciwości wysokości i szerokości
komentarz 21 października 2015 przez Dworki Nowicjusz (180 p.)

Obiekt ma pola width, height oraz metodę wypisz.

var obiekt = new _KlasaObiektu(400,200);

Tak tworzysz nowy obiekt, zostaje wywołana funkcja, którą podałeś.

this.width = _width; // w tym przypadku this.width = 400;

Z tego co piszesz wydaję się, że nie wiesz czym jest obiekt, bez tego nie załapiesz o co tu chodzi.

komentarz 21 października 2015 przez tirex Gaduła (4,430 p.)
Obiekt to wiem co to jest.Np:monitor i on ma swoje własciwosci typu szerokosc,wysokość.
komentarz 21 października 2015 przez Rafał Matuszczak Początkujący (340 p.)
... może to nie pełny wycinek kodu, aby móc modyfikować obiekt musisz go najpierw zadeklarować/jakiś konstroktor jego ... tu brak deklaracji w tym wycinku kodu...

Podobne pytania

0 głosów
1 odpowiedź 214 wizyt
pytanie zadane 12 grudnia 2015 w C i C++ przez Indelencio Początkujący (410 p.)
0 głosów
1 odpowiedź 865 wizyt
+1 głos
1 odpowiedź 739 wizyt
pytanie zadane 10 lipca 2016 w PHP przez CzikaCarry Szeryf (75,340 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...