Skip to content

Instantly share code, notes, and snippets.

@satoshun
Created March 23, 2013 03:57
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save satoshun/5226387 to your computer and use it in GitHub Desktop.
Save satoshun/5226387 to your computer and use it in GitHub Desktop.
javascript singleton
describe('decorator', function() {
// body...
it('singleton1', function(done) {
var Car = function(){
var instance = this;
this.a = 100;
Car = function(){
return instance;
};
};
var car1 = new Car();
var car2 = new Car();
var car3 = new Car();
expect(car1).toBe(car2);
expect(car1).toBe(car3);
expect(car2).toBe(car3);
});
it('singleton2', function(done) {
var Car = function(){
var instance;
Car = function(){
return instance;
};
Car.prototype = this;
instance = new Car();
return instance;
};
var car1 = new Car();
var car2 = new Car();
var car3 = new Car();
expect(car1).toBe(car2);
expect(car1).toBe(car3);
expect(car2).toBe(car3);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment