JavaScript non ha il concetto di namespace ma è possibile simularlo tramite gli oggetti in questo modo:

JavaScript

window.sgart = window.sgart || {};
creo un oggetto sgart che se già esiste, ad esempio perché l'avevo già dichiarato in un altro file, mi ritorna se stesso oppure un oggetto vuoto se non esisteva. Il namespace lo aggiungo all'oggetto window in modo che sia globale.
28/03/2014 Attenzione, questo modo di dichiarare i namespace non è compatibile con Internet Explorer 8 e precedenti e con alcune vecchie versioni di Firefox. L'incompatibilità è dovuta al fatto che le variabili globali non coincidono con le proprietà dell'oggetto window. In questi browser la variabile globale sgart è diversa da window.sgart
Quindi il modo corretto di dichiarare un namespace è il seguente:

JavaScript

var sgart = sgart || {};
Al namespace posso aggiungere delle proprietà e delle funzioni:

JavaScript

sgart.contatore=10;
sgart.showContatore = function(){
  alert(sgart.contatore);
};
Ricordati di aggiungere sempre il punto e virgola dopo la graffa della funzione
la funzione la posso richiamare con:

JavaScript

sgart.showContatore();

Con la stessa tecnica, avendo un namespace, posso aggiungere, al suo interno, altri namespace:

JavaScript

sgart.utility = sgart.utility || {};
ed aggiungere variabile e funzioni:

JavaScript

sgart.utility.showMessage = function(msg){
    alert(msg);
};
sgart.utility.showMessage("ciao");
Tags:
Errori120 Esempi225 JavaScript184
Potrebbe interessarti anche: