Public static method calls all instance methods
by bryandowning
JavaScript
window.MyClass = (function(){
var _instances = [];
function MyClass( name ){
_instances.push( this );
this.name = name;
}
MyClass.prototype.myMethod = function( arg ) {
console.log( this );
console.log( arg );
};
// This public static method calls the instance method of the same name for each instance
MyClass.myMethod = function(){
var i = _instances.length;
while( i-- ){
var instance = _instances[i];
instance.myMethod.apply( instance, arguments );
}
};
return MyClass;
})();
a = new MyClass('a');
b = new MyClass('b');
MyClass.myMethod( true );
console.log('--------------------------------------------------------------------------------');
a.myMethod(false);
b.myMethod(false);