Im letzten JavaScript Post habe ich die Objektorientierung gestreift. Doch wie werden Objekte in einem Namespace bzw. einem über Objekt zusammengefasst?
Folgender kleiner Snippet soll dieses veranschaulichen. In diesem werden zwei Klassen zusammen gefasst. Auch hier wird wieder gezeigt wie man den Konstruktor oder Methoden der Elternklasse aufruft.
//Namespace var TEST = TEST || { version: 1 } //Object 1 TEST.MyObject = function (){ this.property1 = 1 console.log('obj1') return this } //leider kann hier der constructor nicht richtig gesetzt werden //in der Konsole erscheint beim log immer object als Konstruktorname ;o( //TEST.MyObject.prototype.constructor = TEST.MyObject TEST.MyObject.prototype.method1 = function () { console.log('method1 called') return 'method1' } //Object2 TEST.MyObject2 = function(){ TEST.MyObject.call(this) //call super class constructor this.property2 = 2 console.log('obj2') return this } //inherit from prototype TEST.MyObject2.prototype = Object.create(TEST.MyObject.prototype) //TEST.MyObject2.prototype.constructor = TEST.MyObject2 TEST.MyObject2.prototype.method2 = function(){ TEST.MyObject.prototype.method1.call(this) console.log('method2 called') }