6 Stimmen

Javascript-Prototyp-Erweiterungsmethode

Ich habe ein Prototypmodell, bei dem ich die folgenden Erweiterungsmethoden in den Prototyp aufnehmen muss:

String.prototype.startsWith = function(str){
    return (this.indexOf(str) === 0);
}

Beispiel: [JS]

sample = function() {
    this.i;
}

sample.prototype = {
    get_data: function() {
        return this.i;
    }
}

In der Prototyp-Modell, wie kann ich die Erweiterung Methoden oder eine andere Art und Weise zu erstellen Erweiterung Methoden in JS-Prototyp-Modell verwenden.

13voto

Jonas Høgh Punkte 9823

Aufrufen der neuen Methode für string:

String.prototype.startsWith = function(str){
    return (this.indexOf(str) === 0);
}

sollte so einfach sein wie:

alert("foobar".startsWith("foo")); //alerts true

Für Ihr zweites Beispiel nehme ich an, dass Sie einen Konstruktor wünschen, der die Mitgliedsvariable "i" setzt:

function sample(i) { 
    this.i = i;     
}

sample.prototype.get_data = function() { return this.i; }

Sie können dies wie folgt verwenden:

var s = new sample(42);
alert(s.get_data()); //alerts 42

0 Stimmen

I

3 Stimmen

S

1voto

Alex Punkte 11807

Konstruktorfunktionen sollten allerdings mit einem Großbuchstaben beginnen.

function Sample(i) { 
    this.i = i;     
}

var s = new Sample(42);

0voto

Prasun Punkte 371

Ich bin mir nicht sicher, ob das richtig ist, aber versuchen Sie bitte diesen Code. Bei mir hat er im IE funktioniert.

Hinzufügen einer JavaScript-Datei:

String.prototype.includes = function (str) {
    var returnValue = false;

    if(this.indexOf(str) != -1){

        returnValue = true;
    }

    return returnValue;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X