Heim  >  Artikel  >  Web-Frontend  >  Ein Fall, wie Js einen Prototyp verwendet, um ein benutzerdefiniertes Array zu implementieren

Ein Fall, wie Js einen Prototyp verwendet, um ein benutzerdefiniertes Array zu implementieren

黄舟
黄舟Original
2017-10-20 10:42:091582Durchsuche

Vorwort

Ich interviewe oft am Frontend oder kommuniziere mit anderen Kollegen. Wenn es darum geht, die Methode zum Definieren eines Konstruktors in JS zu erstellen, ist es am besten, einen Prototyp zu verwenden : Definieren Sie die Methode. Gehen Sie zum Prototyp des Konstruktors. Der Vorteil besteht darin, dass die vom Konstruktor generierten Methoden alle auf den Index einer Funktion verweisen, wodurch Speicher gespart werden kann.

Dieser Artikel stellt Ihnen hauptsächlich den relevanten Inhalt über Js vor, der Prototypen zum Anpassen von Array-Methoden verwendet, und teilt ihn als Referenz und zum Studium. Ich werde im Folgenden nicht viel sagen, werfen wir einen Blick auf die detaillierte Einführung.

Frage

So implementieren Sie den folgenden Code:


[1,2,3,4,5].duplicator(); // [1,2,3,4,5,1,2,3,4,5]

Lösung

Verwenden Sie das Prototypattribut des Arrays und passen Sie die duplicator()-Methode an. Der js-Code lautet wie folgt:


<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <style></style>
 <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" type="text/javascript"></script>
</head>
<body>
 <script>
 Array.prototype.duplicator = function() {
 let s = this.concat(this)
 return s
 }
 let t = [1,2,3,4,5].duplicator()
 console.log(t)
</script>

</body>
</html>

wird auf der Konsole wie folgt angezeigt:

Notizen

Achten Sie beim Schreiben dieses Codes darauf, keine Klammern hinzuzufügen. Dies bezieht sich innerhalb der Funktion auf das Objekt, das diese Methode aufruft, also auf das Array.Array.prototype.duplicator

Das obige ist der detaillierte Inhalt vonEin Fall, wie Js einen Prototyp verwendet, um ein benutzerdefiniertes Array zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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