Object.create()

ステートフルJavaScript3.2.1

by FiNGAHOLiC

HTML

<script src="https://getfirebug.com/firebug-lite-debug.js"></script>

JavaScript

var Model = {

    inherited: function(){},
    created: function(){},

    prototype: {
        init: function(){}
    },

    create: function(){
        var object = Object.create(this);
        object.parent = this;
        object.fn = object.prototype;

        object.created();
        this.inherited(object);
        return object;
    },

    init: function(){
        var instance = Object.create(this.prototype);
        instance.parent = this;
        instance.init.apply(instance, arguments);
        return instance;
    }
};

var Asset = Model.create();
var User = Model.create();

var user = User.init();