• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Date.prototypen vererben...

Paykoman

New member
Hallöchen,

ich bin gerade dabei eine neue Funktion zu erstellen und musste feststellen das meine zuvor erstellten prototoyen für das Date Objekt dort nicht mehr verfügbar sind :(
Nun stehe ich gerade ein wenig aufm Schlauch, denn ich würde diese gerne dort hinein vererben damit ich sie nicht innerhalb der Funktion noch mal schreiben muss.

Also ich habe eine Datei die am Anfang geladen wird dort sind die Prototypen drin:
Code:
    Date.prototype.checkSat = function() {
        if( this.getDay() == 6 ){ this.setDate(this.getDate() + 2);}
        return this;
    };
    Date.prototype.checkSun = function() {
        if( this.getDay() == 0 ){ this.setDate(this.getDate() + 1);}
        return this;
    };
    Date.prototype.addDays = function(d) {
        this.setDate(this.getDate() + parseInt(d));
        return this;
    };
    Date.prototype.addHours = function(h) {
        if( h > 24 ){
            var days = (h / 24).toFixed(0);
                h = h - (days * 24);
                
            this.setDate(this.getDate() + parseInt(days));
        }
        this.setTime( this.getTime() + (parseInt(h) * 60 * 60 * 1000) );
        return this;   
    }
    Date.prototype.addMinits = function(m) {
        this.setDate(this.getMinutes() + (parseInt(m) * 60 * 1000));
        return this;
    };
    Date.prototype.isLaterAsBool = function(time) {
        return (this.getHours() >= time) ? true : false;
        
    };
    Date.prototype.isLaterAs = function(time) {
        if( this.getHours() >= time ){ this.setTime( this.getTime() + ((25 - this.getHours()) * 60 * 60 * 1000) ); }
        return this;
    };

Meine neue Datei enthält nun diese Funktion:
Code:
var serviceTime = function( opt )
{
    var that = this; // reference for async functions
    this.scOpt = opt;
    this.lastPT = 0;
    this.card = {};
    
    this.sample = function( add ){
        var dateNow = new Date();
        return dateNow.addHours( add );
    }
}

Nun ist der Prototyp aber nicht bekannt, gibt es eine Möglichkeit wie ich es dort vererben kann?
Dachte diese wären global verfügbar =(

Das Problem ist ich will hier eine Instanz schaffen, wird also mittels var meineInstanz = new serviceTime({"options": 'here'}); gestartet und innerhalb der instanz werden diverse Objekte aufgelistet etc. klar ich könnte wie schon erwähnt jetzt jeden Prototyp per Copy & Paste rein machen aber das ist eher unschön :(

Hoffe ihr habt nen Tipp für mich.

MFG: Pay
 
Hey ho, ne es gab keine weiteren fehler, nur "addHours is not a function".

Aber ich Trottel hatte was übersehen =) In der Mittagspause ist mir in den Sinn zu kommen zu schauen ob die Prototypen in der anderen Datei nicht in nem $(document).ready() liegen und so war es dann auch, denn meine Instanz wird vorher gestartet und eig. ist auch nicht nötig, darum habe ich es jetzt vor dem $(document).ready() und es läuft... *ZONG*

MfG: Paykoman
 
Zurück
Oben