


Was ist der Unterschied zwischen „call' und „apply' in Javascript?
In JavaScript haben die Methode call() und die Methode apply() die gleiche Funktion. Der Unterschied liegt in der Art und Weise, wie Parameter empfangen werden. Bei Verwendung der Methode call() müssen die an die Funktion übergebenen Parameter einzeln aufgelistet werden 1. Bei Verwendung von apply() wird der Funktion das Parameterarray übergeben.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Was ist der Unterschied zwischen call und apply in Javascript?
Die call()-Methode ruft eine Funktion mit einem angegebenen Wert und separat bereitgestellten Parametern (Liste der Parameter) auf.
Hinweis: Die Funktion dieser Methode ähnelt der apply()-Methode. Der einzige Unterschied besteht darin, dass die call()-Methode eine Liste mit mehreren Parametern akzeptiert, während die apply()-Methode ein Array mit mehreren Parametern akzeptiert.
Syntax
fun.call(thisObj[, arg1[, arg2[, ...]]])
Definition: Rufen Sie eine Methode eines Objekts auf, um das aktuelle Objekt durch ein anderes Objekt zu ersetzen.
Beschreibung:
Mit der Aufrufmethode kann eine Methode anstelle eines anderen Objekts aufgerufen werden. Die Aufrufmethode ändert den Objektkontext einer Funktion vom Anfangskontext in das durch thisObj angegebene neue Objekt.
Wenn der Parameter thisObj nicht angegeben wird, wird das globale Objekt als thisObj verwendet.
Parameter
thisObj
Dieser Wert wird angegeben, wenn die Fun-Funktion ausgeführt wird. Es ist zu beachten, dass der angegebene this-Wert nicht unbedingt der tatsächliche this-Wert ist, wenn die Funktion ausgeführt wird. Wenn sich die Funktion im nicht-strikten Modus befindet, zeigt der als null und undefiniert angegebene this-Wert automatisch auf das globale Objekt (Browser). das Fensterobjekt), und dieses, dessen Wert ein Grundwert (Zahl, Zeichenfolge, boolescher Wert) ist, zeigt auf das automatische Umbruchobjekt des Grundwerts.
arg1, arg2, ...
Angegebene Parameterliste.
Rückgabewert
Das Rückgabeergebnis enthält den angegebenen Wert und die angegebenen Parameter.
apply() Die Methodeapply() ruft eine Funktion mit einem angegebenen Wert und Argumenten auf, die als Array (oder arrayähnliches Objekt) bereitgestellt werden.
Syntax
fun.apply(thisObj, [argsArray])
Definition: Wenden Sie eine Methode eines Objekts an, um das aktuelle Objekt durch ein anderes Objekt zu ersetzen.
Hinweis:
Wenn argsArray kein gültiges Array oder kein Argumentobjekt ist, wird ein TypeError verursacht.
Wenn weder argArray noch thisObj bereitgestellt werden, wird das Global-Objekt als thisObj verwendet und es können keine Parameter übergeben werden.
Parameter
thisObj
Dieser Wert wird angegeben, wenn die Fun-Funktion ausgeführt wird. Es ist zu beachten, dass der angegebene Wert nicht unbedingt der tatsächliche Wert ist, wenn die Funktion ausgeführt wird. Wenn sich die Funktion im nicht-strikten Modus befindet, zeigt sie automatisch auf das globale Objekt, wenn der angegebene Wert null oder undefiniert ist (im Browser ist es ein Fensterobjekt), und dieses, dessen Wert ein Grundwert (Zahl, Zeichenfolge, boolescher Wert) ist, zeigt auf das automatische Umbruchobjekt des Grundwerts.
argsArray
Ein Array oder arrayähnliches Objekt, dessen Array-Elemente als separate Parameter an die Fun-Funktion übergeben werden. Wenn der Wert dieses Parameters null oder undefiniert ist, bedeutet dies, dass keine Parameter übergeben werden müssen. Ab ECMAScript 5
ist es möglich, Array-ähnliche Objekte zu verwenden.
ZusammenfassungBeide haben die gleiche Funktion, sie binden beide obj (d. h. this) an thisObj. Zu diesem Zeitpunkt hat thisObj die Eigenschaften und Methoden von obj. Mit anderen Worten: thisObj „erbt“ die Eigenschaften und Methoden von obj. Der einzige Unterschied besteht darin, dass apply Array-Parameter akzeptiert, während call kontinuierliche Parameter akzeptiert.
Die call()-Methode und die apply()-Methode haben die gleiche Funktion. Der Unterschied zwischen ihnen liegt in der Art und Weise, wie sie Parameter empfangen. Bei call() ist der erste Parameter der Wert von this, der sich nicht ändert. Die übrigen Parameter werden direkt an die Funktion übergeben. (Bei Verwendung der call()-Methode müssen die an die Funktion übergebenen Parameter einzeln aufgelistet werden. Bei Verwendung von apply() wird das Parameterarray an die Funktion übergeben.) Der folgende Code erklärt:
function add(c, d){ return this.a + this.b + c + d; } var o = {a:1, b:3}; add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16 add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34
Sowohl call als auch apply sind Wird verwendet, um etwas zu ändern. Der Kontext, wenn eine Funktion ausgeführt wird, ist der Kontext. Mit anderen Worten, es dient dazu, den Zeiger davon innerhalb des Funktionskörpers zu ändern. Denn JavaScript-Funktionen haben die Konzepte „Definitionskontext“, „Laufzeitkontext“ und „Kontext kann geändert werden“.
Die beiden Funktionen sind genau gleich, aber die Art der Parameterübernahme ist unterschiedlich. Beispielsweise gibt es eine Funktion fun, die wie folgt definiert ist:
var fun = function(arg1, arg2) {};
kann über fun.call(this, arg1, arg2); oder fun.apply(this, [arg1, arg2]); aufgerufen werden. Darunter ist dies der Kontext, den Sie angeben möchten, der ein beliebiges JavaScript-Objekt sein kann (alles in JavaScript ist ein Objektaufruf, der die Parameter der Reihe nach übergeben muss, während „Apply“ die Parameter in ein Array einfügt).
In JavaScript ist die Anzahl der Parameter einer Funktion nicht festgelegt. Wenn Ihre Parameter die Anzahl eindeutig kennen, verwenden Sie im Hinblick auf die geltenden Bedingungen den Aufruf. Wenn Sie sich nicht sicher sind, verwenden Sie die Funktion „Anwenden“ und übertragen Sie die Parameter dann in die Funktion array Übergeben Sie es. Wenn die Anzahl der Parameter unsicher ist, können alle Parameter innerhalb der Funktion über das Argumentarray durchlaufen werden.
Verwandte Empfehlungen: Javascript-Lern-Tutorial
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen „call' und „apply' in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

React ist eine von Meta entwickelte JavaScript -Bibliothek zum Erstellen von Benutzeroberflächen, wobei der Kern die Komponentenentwicklung und die virtuelle Dom -Technologie ist. 1. Komponenten und Staatsmanagement: React verwaltet den Zustand durch Komponenten (Funktionen oder Klassen) und Hooks (wie Usestate), wodurch die Wiederverwendbarkeit und Wartung von Code verbessert wird. 2. Virtuelle DOM- und Leistungsoptimierung: Reagieren Sie durch virtuelles DOM effizient die reale DOM, um die Leistung zu verbessern. 3. Lebenszyklus und Haken: Hooks (wie die Verwendung von UseEffect) ermöglichen Funktionskomponenten, Lebenszyklen zu verwalten und Nebeneffektoperationen durchzuführen. V.

Das React-Ökosystem umfasst staatliche Verwaltungsbibliotheken (z. B. Redux), Routing-Bibliotheken (z. B. Reactrouter), UI-Komponentenbibliotheken (wie Material-UI), Testwerkzeuge (wie Scherz) und Erstellung von Tools (z. B. Webpack). Diese Tools arbeiten zusammen, um Entwicklern dabei zu helfen, Anwendungen effizient zu entwickeln und zu pflegen, und die Effizienz der Code zu verbessern.

React ist eine von Facebook entwickelte JavaScript -Bibliothek zum Erstellen von Benutzeroberflächen. 1. Es wird komponentierte und virtuelle DOM -Technologie verwendet, um die Effizienz und Leistung der UI -Entwicklung zu verbessern. 2. Die Kernkonzepte von React umfassen Komponentierungen, Staatsmanagement (wie Usestate und UseEffect) und das Arbeitsprinzip des virtuellen DOM. 3. In praktischen Anwendungen unterstützt React von der grundlegenden Komponentenwiedergabe bis hin zur erweiterten asynchronen Datenverarbeitung. 4. Häufige Fehler wie das Vergessen, Schlüsselattribute oder falsche Statusaktualisierungen hinzuzufügen, können durch ReactDevtools und Protokolle debuggen werden. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung von React.MEMO, Code -Segmentierung und Halten des Codes und die Aufrechterhaltung der Zuverlässigkeit

Die Anwendung von React in HTML verbessert die Effizienz und Flexibilität der Webentwicklung durch Komponentierungen und virtuelles DOM. 1) Die Reaktion der Komponentierung Die Idee unterteilt die Benutzeroberfläche in wiederverwendbare Einheiten, um das Management zu vereinfachen. 2) Virtuelle DOM -Optimierungsleistung, minimieren Sie DOM -Operationen durch Differungsalgorithmus. 3) Die JSX -Syntax ermöglicht das Schreiben von HTML in JavaScript, um die Entwicklungseffizienz zu verbessern. 4) Verwenden Sie den Usestate -Hook, um den Status zu verwalten und dynamische Inhaltsaktualisierungen zu realisieren. 5) Optimierungsstrategien umfassen die Verwendung von React.Memo und Usecallback, um unnötiges Rendern zu verringern.

Zu den Hauptfunktionen von React gehören komponentiertes Denken, Staatsmanagement und virtuelles DOM. 1) Die Idee der Komponentierung ermöglicht es, die Benutzeroberfläche in wiederverwendbare Teile aufzuteilen, um die Lesbarkeit und Wartbarkeit der Code zu verbessern. 2) Das staatliche Management verwaltet dynamische Daten durch Status und Requisiten und ändert sich auslösen UI -Updates. 3) Aktualisieren Sie die Benutzeroberfläche virtuelle DOM -Optimierungsleistung durch die Berechnung des Mindestbetriebs der DOM -Replik im Speicher.

Die Vorteile von React sind seine Flexibilität und Effizienz, die sich in: 1) basierendem Design widerspiegeln, verbessert die Wiederverwendbarkeit des Codes. 2) Virtual DOM -Technologie optimiert die Leistung, insbesondere beim Umgang mit großen Mengen an Datenaktualisierungen. 3) Das reiche Ökosystem bietet eine große Anzahl von Bibliotheken und Tools von Drittanbietern. Wenn Sie verstehen, wie React Beispiele funktioniert und verwendet, können Sie seine Kernkonzepte und Best Practices beherrschen, um eine effiziente, wartbare Benutzeroberfläche zu erstellen.

React ist eine JavaScript -Bibliothek zum Erstellen von Benutzeroberflächen, die für große und komplexe Anwendungen geeignet sind. 1. Der Kern von React ist Komponentierung und virtuelles DOM, wodurch die UI -Rendering -Leistung verbessert wird. 2. Im Vergleich zu VUE ist React flexibler, hat aber eine steile Lernkurve, die für große Projekte geeignet ist. 3. Im Vergleich zum Angular ist React leichter, hängt von der Gemeinschaftsökologie ab und geeignet für Projekte, die Flexibilität erfordern.

React arbeitet in HTML über virtuelles DOM. 1) React verwendet die JSX-Syntax, um HTML-ähnliche Strukturen zu schreiben. 2) Virtual DOM -Management -UI -Update, effizientes Rendering durch Differungsalgorithmus. 3) Verwenden Sie Reactdom.render (), um die Komponente zum realen DOM zu rendern. 4) Optimierung und Best Practices umfassen die Verwendung von React.MEMO und Komponentenaufteilung zur Verbesserung der Leistung und Wartbarkeit.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)