1. Übersicht Der Bestätigungscode lautet wie folgt: var f = Funktion () { console.log('das ist die f-Funktion'); } // Eine Funktion ist auch ein Objekt console.log(f instanceof Object); // true // Funktion ist ein Objekt vom Typ Functionconsole.log(f instanceof Function); // true 1.1 Erstellen einer Funktion mit dem Funktionskonstruktor Die grammatische Struktur ist wie folgt: var Funktionsname = neue Funktion ([arg1[, arg2[, ...argN]],] Funktionstext) Dabei steht Der Beispielcode lautet wie folgt: // Funktion ohne Parameter var fun = new Function('console.log("Dies ist eine Funktion")') fun() // Dies ist eine Funktion // Eine Funktion mit einem Parameter var fun = new Function('a', 'console.log("Diese Funktion nimmt einen Parameter an: " + a)') fun(100) // Diese Funktion benötigt einen Parameter: 100 // Funktion mit zwei Parametern var fun = new Function( 'a, b', 'console.log("Dies ist eine Funktion mit zwei Parametern, " + a + " und " + b);', ) fun(100, 200) // Dies ist eine Funktion mit zwei Parametern, 100 und 200 In der tatsächlichen Entwicklung verwenden wir diese Methode im Allgemeinen nicht zum Erstellen von Funktionen, da sie überhaupt nicht lesbar ist. 1.2Funktion und Gegenstand
Der Bestätigungscode lautet wie folgt: console.log(Funktionsinstanz der Funktion) //true console.log(Funktionsinstanz des Objekts) //true console.log(Objektinstanz von Objekt) //true console.log(Objektinstanz der Funktion) //true 2. Konstruktor 2.1 Benutzerdefinierte „Andernfalls“-Funktion Ein Konstruktor, auch als Konstruktor- oder Objektvorlage bezeichnet, ist eine Methode in einem Objekt, die bei der Instanziierung aufgerufen wird. In Die Syntax zum Erstellen eines Konstruktors lautet wie folgt: Funktion Person(){ this.property name = Eigenschaftswert; dieser.Methodenname = Funktion() { Methodenkörper} var person = neue Person(); Hier ist Der folgende Code zeigt, wie ein Konstruktor erstellt und wie eine Klasse über den Konstruktor instanziiert wird: // Benutzerdefinierter Konstruktor -> Funktion: Objektfunktion Person (Name, Alter, Geschlecht) erstellen { dieser.name = Name this.age = Alter das.geschlecht = geschlecht dies.drucken = Funktion () { console.log(Name + „dieses Jahr“ + Alter + „Alter und Geschlecht“ + Geschlecht) } } // Erstelle eine Schale mit Süßigkeiten var t = new Person('eine Schale mit Süßigkeiten', 18, 'weiblich') hong.print() // Yiwantian ist 18 Jahre alt und weiblich // Erstelle Yiwanzhou var z = new Person('Yiwanzhou', 20, 'männlich') dong.print() //Eine Schüssel Haferbrei, 20 Jahre alt, männlich 2.2 Konstruktoreigenschaft eines Objekts Alle Objekte erben eine Konstruktoreigenschaft von ihrem Prototyp: Es ist wichtig zu beachten, dass der Wert dieser Eigenschaft ein Verweis auf die Funktion selbst ist und nicht eine Zeichenfolge, die den Funktionsnamen enthält. Der Beispielcode lautet wie folgt: // Yiwan Zhou erstellen var z = neue Person('Yiwan Zhou', 18, 'Männlich') // Überprüfen, ob es sich um das Objekt des Personenkonstruktors handelt console.log(z.constructor === Person) 2.3 Konstruktoren und FunktionenSchauen wir uns zunächst einen Codeabschnitt an Funktion Held() { // Als Funktion verwenden var v = 100 // Lokale Variable // Als Konstruktor verwenden this.set = function (value) { v = Wert } dies.get = Funktion () { zurückgeben v } } In diesem Code definieren wir zuerst eine Funktion, die auch ein Konstruktor ist und natürlich immer noch ein Objekt. Da es drei Bedeutungen hat, gibt es drei Operationen, wie unten gezeigt
Der Beispielcode lautet wie folgt: // Hero() direkt aufrufen // Erstelle ein Objekt durch den Konstruktor var hero = new Hero() // Behandle es als Objekt und füge Eigenschaften und Methoden hinzu Hero.n = ‚Eine Schüssel Zhou‘ console.log(Hero.n) // Eine Schüssel Zhou 3. Eigenschaften und Methoden von Funktionsobjekten Das globale 3.1LängenattributDas Längenattribut gibt die Anzahl der formalen Parameter der Funktion an. Der Beispielcode lautet wie folgt: // Definiere zwei leere Funktionen function fun(a, b, c, d) {} Funktion fn() {} // Testen Sie die Längeneigenschaft console.log(fun.length) // 4 console.log(fn.length) // 0
Das Syntaxformat ist wie folgt: Funktion.apply(diesesArg, [argsArray]) Die Parameter werden wie folgt erklärt:
Der Rückgabewert ist das Ergebnis des Aufrufs der Funktion mit dem angegebenen „this“-Wert und den angegebenen Argumenten. Der folgende Code zeigt die Verwendung der Methode apply(): // definiere eine Funktion function fn(a) { console.log('das ist ' + a) } fn.apply(null, ['function']) // dies ist eine Funktion // Der obige Aufruf entspricht der folgenden Methode fn('function') // dies ist eine Funktion 3.2call()-Methode Die Syntax und Funktion dieser Methode ähneln der Methode Der folgende Code zeigt die Verwendung der call()-Methode: Funktion fn(a) { console.log('das ist ' + a) } fn.call(null, 'function') // dies ist eine Funktion // Der obige Aufruf entspricht der folgenden Methode fn('function') // dies ist eine Funktion
Die Parameter werden wie folgt erklärt: Funktion.binden(thisArg[, arg1[, arg2[, ...]]]) Parameter: Der Rückgabewert ist eine Kopie der ursprünglichen Funktion mit dem angegebenen **this**-Wert und den Anfangsparametern. Der folgende Code zeigt die Methode bind(): // Definiere eine Funktion var fun = function (a, b) { console.log('Der Wert des ersten Parameters ist:' + a + 'Der Wert des zweiten Parameters ist:' + b) } // Rufe fun() auf fun(10, 20) // Der Wert des ersten Parameters ist: 10 Der Wert des zweiten Parameters ist: 20 // Erstelle eine gebundene Funktion var fn = fun.bind(null, 100, 200) // Funktion mit Standardparameterwerten // Rufe die neu erstellte Funktion auf, ohne tatsächliche Parameter zu schreiben fn() // Der Wert des ersten Parameters ist: 100 Der Wert des zweiten Parameters ist: 200 4. Arguments-Objekt
Seine Parameter können auch neu definiert werden. Das Objekt bietet außerdem zwei Eigenschaften:
Der folgende Code zeigt die Verwendung dieses Objekts. Der Code lautet wie folgt: /* * Das Argumentobjekt ist ein spezielles Objekt, das sich im Funktionskörper befindet. * Das Argumentobjekt ist ein arrayähnliches Objekt. * Das Argumentobjekt entspricht den tatsächlichen Parametern, die an die Funktion übergeben werden. */ // Definiere eine Funktion var fun = function () { console.log(Argumente) // arguments.callee zeigt auf die aktuell ausgeführte Funktion, zu der die Argumente gehören. //Wenn Sie dieser Eigenschaft eine Klammer hinzufügen, bedeutet dies einen Aufruf. Weil arguments.callee === fun als true ausgewertet wird console.log(Argumente.Angerufener) // arguments.length Die Anzahl der an die Funktion übergebenen Argumente. console.log(Argumente.Länge) } Spaß (1, 2, 3, 4, 5) Die Ergebnisse der Codeausführung sind wie folgt: [Argumente] { '0': 1, '1': 2, '2': 3, '3': 4, '4': 5 } [Funktion: Spaß] 5 Wir können die Eigenschaft arguments.length verwenden, um die Anzahl der übergebenen Parameter zu bestimmen, um die Funktionsüberladung abzuschließen. Der Beispielcode lautet wie folgt: // Überladung der Simulationsfunktion function add() { // Anzahl der Parameter aufzeichnen var len = arguments.length //Verwende die switch case-Anweisung, um die Anzahl der übergebenen Parameter zu bestimmen und so den überladenen Funktionsschalter (len) zu simulieren { Fall 2: Rückgabeargumente[0] + Argumente[1] brechen Fall 3: Rückgabeargumente[0] + Argumente[1] + Argumente[2] brechen Fall 4: Rückgabeargumente[0] + Argumente[1] + Argumente[2] + Argumente[3] brechen Standard: brechen } } konsole.log(add(1, 2)) // 3 konsole.log(add(1, 2, 3)) // 6 console.log(add(1, 2, 3, 4)) // 10 5. ZusammenfassungIn diesem Artikel wird erläutert, wie ein Konstruktor erstellt wird, wie ein Objekt über einen Konstruktor instanziiert wird und welche Methoden und Eigenschaften das Funktionsobjekt bereitstellt. Wie man es verwendet und schließlich ein Argumentsobjekt einführt. Dies ist das Ende dieses Artikels über JS-Funktionen und -Konstruktoren. Weitere relevante Inhalte zu JS-Funktionen und -Konstruktoren finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Zwei Möglichkeiten zum Erstellen von Docker-Images
>>: Beispiele für die Verwendung von HTML-Listen-Tags dl, ul, ol
Der spezifische Code lautet wie folgt: Der HTML-C...
In diesem Artikel werden die spezifischen Schritt...
Wie der Titel schon sagt, kann andernfalls bei ein...
In CSS-Style-Datei angeben #class td /*Legen Sie ...
Inhaltsverzeichnis 01 Unsichtbare Spalten erstell...
1. Browser-Rendering-Modus und Doctype Einige Web...
Grundlegende Einführung Im vorherigen Artikel hab...
Inhaltsverzeichnis 01 Behälterkonsistenz 02 Konze...
Inhaltsverzeichnis Vorne geschrieben Vorwort Was ...
<br />Dies ist eine Reihe von Tutorials, die...
Abgeleitete Tabellen Wenn die Hauptabfrage eine a...
Vorwort Verwenden Sie nginx zum Lastenausgleich. ...
Frage: Warum ist die Like-Fuzzy-Abfrage immer noc...
Was ist die CN2-Linie? CN2 steht für China Teleco...
Remotebereitstellung der MySQL-Datenbank unter Li...