Heim >类库下载 >其它类库 >Anmerkungen zur JavaScript-Studie: Erweiterte Typfunktionen

Anmerkungen zur JavaScript-Studie: Erweiterte Typfunktionen

大家讲道理
大家讲道理Original
2016-11-07 16:22:281721Durchsuche

JavaScript ermöglicht die Erweiterung der Funktionalität auf Basistypen. Sie können beispielsweise Object.prototype eine Methode hinzufügen, um die Methode für alle Objekte verfügbar zu machen. Dieser Ansatz funktioniert gleichermaßen gut für Funktionen, Arrays, Zeichenfolgen, Zahlen, reguläre Ausdrücke und boolesche Werte.

Zum Beispiel können Sie eine Methode zu Function.prototype hinzufügen, um sie für alle Funktionen verfügbar zu machen:

Function.prototype.method = function(name, func) {  this.prototype[name] = func;  return this;  
}

Indem Sie eine Methodenmethode zu Function.prototype hinzufügen und dann eine Methode hinzufügen um die Methode method direkt aufzurufen, ohne einen Prototyp schreiben zu müssen. JavaScript verfügt beispielsweise nicht über einen Integer-Typ. Wir können dies implementieren, indem wir Number.prototype eine Integer-Methodenklasse hinzufügen.

Number.method("integer", function(){    return Math[this < 0 ? &#39;ceil&#39; : &#39;&#39;floor&#39;](this);
});
console.log((-10 / 3).integer());   //out put -3

Durch das Hinzufügen von Methoden zu Grundtypen kann die Ausdruckskraft der Sprache erheblich verbessert werden. Aufgrund der dynamischen Natur der JavaScript-Prototypvererbung wird die neue Methode sofort allen Objektinstanzen zugewiesen, einschließlich Objekten, die vor dem Hinzufügen der Methode erstellt wurden.

Da der Prototyp des Basistyps eine öffentliche Struktur ist, müssen Sie bei der Verwendung der Klassenbibliothek vorsichtig sein. Ein sicherer Ansatz besteht darin, die Methode nur dann hinzuzufügen, wenn Sie sicher sind, dass sie nicht vorhanden ist, zum Beispiel:

Function.prototype.method = function(name, func) {  if (!this.prototype(name)) {    this.prototype[name] = func;
  }  return this;
};
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

In Verbindung stehende Artikel

Mehr sehen