Skip to content

Instantly share code, notes, and snippets.

@michalkowol
Created November 29, 2014 13:26
Show Gist options
  • Select an option

  • Save michalkowol/190559f3f92f9a8e4111 to your computer and use it in GitHub Desktop.

Select an option

Save michalkowol/190559f3f92f9a8e4111 to your computer and use it in GitHub Desktop.
function _extend(object, source) {
for (var key in source) {
if (source.hasOwnProperty(key)) {
object[key] = source[key];
}
}
return object;
}
var mtv = (function (mtv) {
'use strict';
mtv.ClassA = function (a) {
var self = {};
self.a = a;
function privateInA () {
console.log('ClassA.privateInA.start');
console.log(self.a);
console.log('ClassA.privateInA.end');
}
self.bar = function () {
console.log('ClassA.bar.start');
self.foo();
privateInA();
console.log('ClassA.bar.end');
};
self.foo = function () {
console.log('ClassA.foo.start');
console.log(self.a);
console.log('ClassA.foo.end');
};
self.changeA = function () {
console.log('ClassA.changeA.start');
self.a = self.a + ' Kowol';
console.log('ClassA.changeA.end');
};
return self;
};
mtv.ClassB = function (b) {
var self = mtv.ClassA(b);
var _super = _extend({}, self);
self.b = b;
self.foo = function () {
console.log('ClassB.foo.start');
console.log(self.b + ' ' + self.a);
_super.foo();
console.log('ClassB.foo.end');
};
return self;
};
return mtv;
})(mtv || {});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment