


Sind formale Parameter in JavaScript größer als tatsächliche Parameter?
In JavaScript sind Funktionsparameter ein sehr wichtiger Teil. Wenn eine Funktion aufgerufen wird, können Sie Argumente übergeben, um das Verhalten der Funktion zu ändern. Aber was passiert, wenn Ihre Funktionsparameter größer sind als die tatsächlichen Parameter? In diesem Artikel werden wir dieses Problem untersuchen und einige der Probleme ansprechen, die auftreten können.
Schauen wir uns zunächst ein einfaches Funktionsbeispiel an, das zwei Parameter benötigt:
function add(a, b) { return a + b; }
In diesem Beispiel definieren wir eine Funktion namens „add“, die zwei Parameter a und b akzeptiert und deren Summe zurückgibt.
Wenn wir nun diese Funktion aufrufen und zwei Parameter wie unten gezeigt übergeben:
add(2, 4);
Dann erhalten wir ein Ergebnis von 6. Dies liegt daran, dass wir die Funktion „add“ aufgerufen und zwei Parameter übergeben haben, diese hinzugefügt wurden und das Ergebnis zurückgegeben wurde.
Aber was passiert, wenn wir diese Funktion aufrufen, aber nur einen Parameter übergeben?
add(2);
In diesem Fall wird dem Parameter „a“ der Wert 2 zugewiesen, aber „b“ wird kein Parameter übergeben. In diesem Fall ist der Wert von „b“ undefiniert und die Summe von „a“ und „b“ beträgt NaN. Dies liegt daran, dass in JavaScript das Hinzufügen eines beliebigen numerischen Werts zu undefiniert NaN zurückgibt.
Wenn wir nun die Funktion „add“ so umdefinieren, dass sie nur einen Parameter (d. h. a) hat, wie folgt:
function add(a) { return a + 2; }
Dann versuchen Sie, sie erneut aufzurufen:
add(2, 4);
In diesem Fall ist der tatsächliche Parameter größer als der formale Parameter Das Problem besteht nicht. Selbst wenn wir zwei Parameter übergeben, akzeptiert die JavaScript-Engine nur den ersten Parameter.
In einigen Fällen kann die Funktionsdefinition jedoch größere Parameter enthalten, als Sie übergeben möchten. In diesem Fall fragen Sie sich möglicherweise, wie JavaScript mit dem Fall umgeht, dass der tatsächliche Parameter kleiner als der formale Parameter ist.
Wenn der tatsächliche Parameter kleiner als der formale Parameter ist, wird der nicht übergebene Parameter als undefiniert zugewiesen. Dies liegt daran, dass Funktionsparameter in JavaScript den Standardwert undefiniert haben. Wenn Sie nur einen Teil der Parameter übergeben, werden die nicht übergebenen Parameter automatisch als undefiniert zugewiesen. Zum Beispiel:
function add(a, b, c) { return a + b + c; } add(2);
In diesem Beispiel haben wir eine Funktion „add“ definiert, die drei Parameter akzeptiert, aber wir haben nur einen Parameter übergeben. b und c werden automatisch undefiniert zugewiesen und ihre Summe beträgt NaN.
In einigen Fällen möchten Sie jedoch möglicherweise wissen, wie Sie mit dem Fall umgehen, in dem der tatsächliche Parameter kleiner als der formale Parameter ist. JavaScript-Anfänger wissen vielleicht nicht, wie sie dieses Problem lösen können, aber es gibt einige Tricks, die Sie anwenden können. Hier sind einige davon:
1. Standardparameter verwenden:
In ES6 können Sie Standardparameter verwenden, um Standardwerte für Funktionsdefinitionen bereitzustellen. Standardparameter sind Attribute in Klammern, die beim Definieren einer Funktion hinzugefügt werden. Wenn die tatsächlichen Parameter kleiner als die formalen Parameter sind, verwenden die nicht übergebenen Parameter die vordefinierten Standardwerte. Zum Beispiel:
function add(a, b = 0, c = 0) { return a + b + c; } add(2);
In diesem Beispiel haben wir einen Standardwert von 0 für die Parameter b und c angegeben. Wenn wir also nur einen Parameter übergeben, ist der Rückgabewert 2.
2. Überprüfen Sie, ob die Parameter undefiniert sind:
Um NaN zu vermeiden, können Sie prüfen, ob alle Parameter im Funktionskörper undefiniert sind. Sie können sie dann nach Bedarf ausprobieren. Zum Beispiel:
function add(a, b, c) { if (a === undefined) a = 0; if (b === undefined) b = 0; if (c === undefined) c = 0; return a + b + c; } add(2);
Wenn wir in diesem Fall nur einen Parameter übergeben, weist die Funktion a automatisch den Wert 2 zu, während b und c den Wert 0 zugewiesen werden. Das zurückgegebene Ergebnis ist 2.
Fazit
Wenn also in der JavaScript-Umgebung die formalen Parameter größer als die tatsächlichen Parameter sind, werden die nicht übergebenen Parameter undefiniert zugewiesen. Wenn die tatsächlichen Parameter kleiner als die formalen Parameter sind, werden auch nicht übergebene Parameter undefiniert zugewiesen. Wenn Sie in diesen Fällen keine NaNs wünschen, sollten Sie die Verwendung von Standardparametern oder einen Trick in Betracht ziehen, der prüft, ob der Parameter undefiniert ist.
Das obige ist der detaillierte Inhalt vonSind formale Parameter in JavaScript größer als tatsächliche Parameter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In dem Artikel wird die Verwendung von UseEffect in React, einen Haken für die Verwaltung von Nebenwirkungen wie Datenabrufen und DOM -Manipulation in funktionellen Komponenten erläutert. Es erklärt die Verwendung, gemeinsame Nebenwirkungen und Reinigung, um Probleme wie Speicherlecks zu verhindern.

Lazy Ladeverzögerung des Ladens von Inhalten bis zur Bedarf, Verbesserung der Webleistung und Benutzererfahrung durch Reduzierung der anfänglichen Ladezeiten und des Serverlasts.

Der Artikel erläutert den Versöhnungsalgorithmus von React, der das DOM effizient aktualisiert, indem virtuelle DOM -Bäume verglichen werden. Es werden Leistungsvorteile, Optimierungstechniken und Auswirkungen auf die Benutzererfahrung erörtert.

Funktionen höherer Ordnung in JavaScript verbessern die Übersichtlichkeit, Wiederverwendbarkeit, Modularität und Leistung von Code durch Abstraktion, gemeinsame Muster und Optimierungstechniken.

In dem Artikel wird das Currying in JavaScript, einer Technik, die Multi-Argument-Funktionen in Einzelargument-Funktionssequenzen verwandelt. Es untersucht die Implementierung von Currying, Vorteile wie teilweise Anwendungen und praktische Verwendungen, Verbesserung des Code -Lesens

Der Artikel erläutert den Usecontext in React, was das staatliche Management durch Vermeidung von Prop -Bohrungen vereinfacht. Es wird von Vorteilen wie zentraler Staat und Leistungsverbesserungen durch reduzierte Neulehre erörtert.

In Artikeln werden das Standardverhalten bei Ereignishandlern mithilfe von PURDDEFAULT () -Methoden, seinen Vorteilen wie verbesserten Benutzererfahrungen und potenziellen Problemen wie Barrierefreiheitsproblemen verhindern.

In Artikel werden die Verbindungskomponenten an Redux Store mit Connect () verbinden, wobei MapStatetoprops, MapDispatchtoprops und Leistungsauswirkungen erläutert werden.
