JSFiddle - React, Tailwind, and code Playground
by avrelian
JavaScript
var debug = (function(){
var debug = {
Man: 1,
Woman: 1,
all: 0
};
return function(obj){
(debug[obj.type] || debug['all']) && console.log(arguments);
};
})();
var extend = function(obj){
return $.extend.apply(obj, arguments);
};
var create = function(o){
var constructor = function(data){
debug(this, data);
extend(this, data || {});
this.init();
return this;
};
var F = eval("1 && function " + o.type + "(data){ return constructor.call(this, data) }");
F.prototype = o;
return F;
};
var Man = create({
type: 'Man',
name: '',
init: function(){
this.address = 'Mr. ' + this.name;
}
});
var Woman = create({
type: 'Woman',
name: '',
init: function(){
this.address = 'Mrs. ' + this.name;
}
});
var john = new Man({ name: 'John Doe' });
var sarah = new Woman({ name: 'Sarah Parker' });