Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sposób zapisu obiektów
webdice
post 29.01.2009, 11:58:25
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?
Go to the top of the page
+Quote Post
lord_t
post 29.01.2009, 19:15:25
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();


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 12:26