Heute zeige ich euch mal einen kleinen Code Snippet wie man einen globalen Singleton in JavaScrip erstellt. Das ist eigentlich ziemlich simpel, aber gerade was private Attribute und Methoden angeht ist JavaScript für Programmierer mit „richtiger“ OOP-Erfahrung gewöhnungsbedürftig. Hier der Code-Ausschnitt und ein kleines Beispiel zur Benutzung.
// Globaler Singleton
Singleton = (function() {
var privateAttribute = true;
function privateMethod() {
return true;
};
return {
publicAttribute: true,
publicMethod: function() {
return true;
}
};
})();
// Beispiel
$(document).ready(function(){
console.log(Singleton.publicAttribute); // true
console.log(Singleton.publicMethod()); // true
console.log(Singleton.privateAttribute); // undefined
//console.log(Singleton.privateMethod()); // Uncaught TypeError: Object #<Object> has no method 'privateMethod'
});