Inheritance Without Constructors
Demo
Open your browser's console and reload the page to see the code in action.
Register the Class
<script src="Extend.js"></script> <script src="Example.js"></script>
Usage and Code Insight
(function() { // base object var base = { props: { firstName: "Martin", lastName: "Ivanov", web: { site: "http://wemakesites.net", blog: "http://acidmartin.wordpress.com/", ui: "http://acidmartin.wordpress.com/", twitter: "https://twitter.com/#!/wemakesitesnet" } }, init: function() { window.console.log(">>> base.init()"); }, getProperties: function() { return this.props; } }; // directly call base method if required base.init(); // inheriting object with some default methods var subclass = { ownMethod: function() { window.console.log(">>> subclass.ownMethod()"); } }; // extend the subclass with properties from the base object extend(base, subclass); // call some methods from the subclass subclass.init(); subclass.ownMethod(); window.console.log(subclass.getProperties()); })();
/* * extend * Simple JavaScript extender * developer's website: http://wemakesites.net/#!/web-dev * developer's twitter: https://twitter.com/#!/wemakesitesnet * developer's blog http://acidmartin.wordpress.com/ **/ (function() { "use strict"; function extend(superclass, subclass) { for(var key in superclass) { if(superclass.hasOwnProperty(key)) { subclass[key] = superclass[key]; } } } window.extend = extend; })();