Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Combination Constructor & Prototype Pattern
/**
* Combination Constructor/Prototype Pattern
*/
//constructor
function Something(name){
//properties
this.name = name;
}
//prototype
Something.prototype = {
//methods
sayhello:function(){
console.log('hello '+this.name);
},
sayhi:function(){
console.log('hi '+this.name);
}
}
var obj = new Something('souparno');
var obj2 = new Something('zacks');
/********************EOF*******************************/
/**
* Dynamic Prototype Pattern
*/
//constructor
function Something(name){
//properties
this.name = name;
//methods
if(typeof this.sayhello != "function"){
Something.prototype.sayhello = function(){
console.log('hello '+this.name);
};
}
if(typeof this.sayhi != "function"){
Something.prototype.sayhello = function(){
console.log('hi '+this.name);
};
}
}
var obj = new Something('souparno');
var obj2 = new Something('zacks');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.