Here’s a cool way for extending JavaScript objects without using constructors and “classes”, but simple literals/singletons, representing Base and Subclass objects:
(function() {
"use strict";
// the extend function
function extend(superclass, subclass) {
for(var key in superclass) {
if(superclass.hasOwnProperty(key)) {
subclass[key] = superclass[key];
}
}
}
// 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());
})();
Related Posts
- JavaScript Mapper Class for RESTFul Methods
- HTML Validation Bookmarklet
- JavaScript Template Engine
- XML to JSON JavaScript Objectifier
- URI to JSON Serializer
- IMDB Fetcher – Experimental IMDB JavaScript and PHP API
- Quick and Dirty Localization With JavaScript
- JavaScript Instance Name Finder
- Cross-browser HTML5 Placeholder Enabler
- Cross-browser HTML5 Details Element Enabler
- JavaScript Wrapper for the HTML5 WebWorkers API
- JavaScript Class Augmenter
- JavaScript API for TinyURL
[...] Classless JavaScript inheritance [...]
[...] « Classless JavaScript Inheritance [...]
[...] Classless JavaScript Inheritance [...]
[...] Classless JavaScript Inheritance [...]
[...] Classless JavaScript Inheritance [...]
[...] Classless JavaScript Inheritance [...]
[...] My New Personal Website Classless JavaScript Inheritance [...]
[...] Classless JavaScript inheritance [...]
[...] JavaScript Inheritance Without Constructors [...]
[...] JavaScript Inheritance Without Constructors [...]
[...] JavaScript Inheritance Without Constructors [...]
[...] JavaScript Inheritance Without Constructors [...]
[...] JavaScript Inheritance Without Constructors [...]
[...] Classless JavaScript inheritance. [...]