Veze, linkovi
Kompjuter biblioteka
Korpa

Preporučujemo

Recepti za čist kod

Recepti za čist kod

Popust cena: 2100 rsd

C# 2008 od početnika do profesionalca

C# 2008 od početnika do profesionalca

Popust cena: 1760 rsd

KAKO DA koristite JavaScript namespace-ove

Što više aplikacija i kodova gradite u Javascript-u, tim više ćete trebati da ih particionišete. Postoje (najmanje) dva razloga za to:

  • Kako vaše funkcije /objekti ne bi ulazili u konflikt sa kodom drugih programera. Ako pišete kod koji nameravate da distribuirate, ili ako prilagođavate nečiji tuđi kod vašim potrebama, želećete da budete sigurni da nijedna funkcija nema isto ime. Javascript će pun entuzijazma da zameni setCookie() funkciju sa nečijom tuđom setCookie() funkcijom bez da vas ijednim slovom upozori na akciju koja sledi. Probleme koji nastaju na ovakav način je veoma teško ispratiti i otkriti. Namespace-ovanje vašeg koda nudi pravo rešenje.
  • Kako biste organizovali vaše funkctije/objekte u grupe koje imaju smisla. Ako progamirate u Javi, nećete staviti sve vaše klase u jedan paket, zar ne?

Kako da primenjujete namespace

U Javascript-u, vi možete da namespace-ujete funkcije tako što ćete ih učiniti vlasništvom objekta. Evo primera, koji namespace-uje augment() funkciju koja će kasnije biti upotrebljena:

var EC = new Object(); // EC je namespace prvog nivoa, skraćeno od EarthCode

EC.F = new Object(); // F je namespace drugog nivoa, skraćeno od foundation.

 

// sada definišite samu augment funkciju

EC.F.augment = function (oSelf, oOther) {

  if (oSelf == null) {

    oSelf = {};

  }

  for (var i = 1; i < arguments.length; i++) {

    var o = arguments[i];

    if (typeof(o) != 'undefined' && o != null) {

      for (var j in o) {

        oSelf[j] = o[j];

      }

    }

  }

  return oSelf;

}

Sada, kod prave primene, vi biste postavili više funkcija u namespace. Evo sintakse koju možete da upotrebite:

// prvo, kreirajte dva namespace-a ako već ne postoje

if (EC == null || typeof(EC) != "object") { var EC = new Object();}

if (EC.F == null || typeof(EC.F) != "object") { EC.F = new Object();}

 

// sve funkcije u EC.F namespace-u će ići u ovaj blok

EC.F = {

  augment: function (oSelf, oOther) {

    // sadržaj augment funkcije

  },

  Observer: function () {

    // sadržaj Observer klase

  },

  thirdFunction: function () {

    // sadržaj funkcije

  }

} // kraj EC.F namespace-a

Saveti za namespace imena

  • Neka budu kratka. Vi ćete često morati da kucate "punu putanju " do funkcije u vašem kodu, i ako je ona dugačka i teška za kucanje, imaćete velikih problema.
  • Neka cela putanja bude kratka. U Javi je uobičajeno da imenujete vaše pakete "com.mojakompanija.itakodalje.itakodalje.," ali to je suvišno u Javascript-u. Ponovo ističemo, ako ćete puno kucati čitavu putanju, želećete da bude kratka i jasna.
  • Planirajte budući rast. Na primer, ako kreirate klasu pop-up obaveštenja, da li predviđate da ćete u budućnosti kreirati druge vrsta pop-up obaveštenja? Da li vredi da je stavljate u "notifier" paket?

 

         
Twitter Facebook Linkedin Pinterest Email
         

Budite prvi koji će ostaviti komentar.

Ostavite komentar Ostavite komentar

 

 

 

Veze, linkovi
Linkedin Twitter Facebook
 
     
 
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272