2016-08-09 54 views
0

Wir sind wieeine Gruppe von Funktionen als Prototypen in Javascript

String.prototype.EndsWith = function(){ ... } 

verwenden verwenden Was ich versuche zu tun, mehrere Funktionen haben und in der Lage sein, sie zu Nummer hinzufügen, String, ... oder alles andere, ich versuche, einen Weg zu finden, der eine Gruppe von Funktionen hat, und ich kann nur einen Prototyp zu einem Objekt hinzufügen, so dass er auf alle diese Funktionen zugreifen kann.

+0

Haben Sie versucht, 'Object.prototype' mit? – user1620220

+0

dann gilt es für alles? Nummer, String, Array, ...? –

+0

Unterklasse 'String' mit ES2015 Klassensyntax:' class MyString erweitert String {/ * Ihre Methoden * /} '. Wandeln Sie niemals eingebaute Prototypen um. – ftor

Antwort

1

Sie können so etwas tun.

String.prototype.myMethods = function(){ 
 
    var self = this; 
 
    return { 
 
    endsWith: function(str){ 
 
     if (self.substr(str.length).localeCompare(str) === 0){ 
 
     return true; 
 
     } 
 
     return false; 
 
    }, 
 
    beginsWith: function(str){ 
 
     if (self.substr(0,str.length).localeCompare(str) === 0){ 
 
      return true; 
 
     } 
 
     return false; 
 
    } 
 
    }; 
 
}; 
 

 
var str = "String"; 
 

 
console.log(str.myMethods().endsWith("ing")); 
 
console.log(str.myMethods().endsWith("asdf")); 
 
console.log(str.myMethods().beginsWith("Str"));