![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Witam, obiekty w JavaScript mogę zapisać na dwa różne sposoby.
Pierwszy sposób: Kod Object = { Version: '1.0', setVersion: function (Version) { this.Version = Version; }, getVersion: function () { return this.Version; } } Oraz drugi sposób: Kod var Object = function () { this.Version = '1.0'; this.setVersion = function (Version) { this.Version = Version; } this.getVersion = function () { return this.Version; } } Jaki są zalety, jak i wady korzystania z danego rozwiązania? Kolejne pytanie, czym jest this[0] w JavaScript? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Kod Object1 = { Version: '1.0', setVersion: function (Version) { this.Version = Version; }, getVersion: function () { return this.Version; } } var Object2 = function () { this.Version = '1.0'; this.setVersion = function (Version) { this.Version = Version; } this.getVersion = function () { return this.Version; } } //alert(typeof Object1); // -> object (obiekt,instancja nienazwanej klasy) //alert(typeof Object2); // -> function (klasa/konstruktor) //NIEPRAWIDLOWE - Object1 nie jest konstruktorem //var o1=new Object1(); //NIEPRAWIDLOWE - Object1 nie jest konstruktorem //var o11=new Object1; //OK - otrzymujemy obiekt klasy Object2 var o2=new Object2(); //alert(o2.Version); //OK - otrzymujemy obiekt klasy Object2 var o22=new Object2; //alert(o22.Version); W Object2 możesz wywołać inną funkcję, w Object1 tego nie zrobisz. Nie jestem w 100% przekonany, ale w Object1 nie uda Ci się też stworzyć prywatnego atrybutu lub metody. Co do wykorzystania this[0] to widzę tylko jedno zastosowanie i możliwość użycia: mianowicie w tablicy; do odwołania się do pierwszego elementu ze środka tej tablicy: Kod Array.prototype.wyswietlPierwszy=function(){ alert(this[0]); }
d =new Array(); d[0]=45; d.wyswietlPierwszy(); -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 12:26 |