Implementing the singleton pattern in JavaScript requires a basic knowledge of JavaScript class instantiation. For example, given the following code:
function A {
this.property = 'Foo';
}
you cannot write something like this:
alert(A.property); // error
because the A class has not been instantiated yet through the new operator. Instead, you have to create a self-instantiating class, like this:
var A = new function() {
this.property = 'Foo';
}
Now everything works just fine:
alert(A.property); // 'Foo'