


Detaillierte Analyse der Variablendeklaration und Funktionsdeklarationsförderung in js (mit Beispielen)
Dieser Artikel bietet Ihnen eine detaillierte Analyse der Variablendeklarationen und Funktionsdeklarationen in js (mit Beispielen). Ich hoffe, dass er für Sie hilfreich ist. .
Verbesserung der Variablendeklaration
1. Variablendefinition
Sie können var zum Definieren von Variablen verwenden. Wenn der Variablen kein Wert zugewiesen ist, ist der Anfangswert der Variablen undefiniert .
2. Variablenbereich
Variablenbereich bezieht sich auf den Bereich, in dem die Variable arbeitet. Variablen werden in globale Variablen und lokale Variablen unterteilt. Globale Variablen werden global definiert; lokale Variablen sind nur innerhalb einer Funktion gültig.
Im Funktionskörper haben lokale Variablen oder Parameter mit demselben Namen eine höhere Priorität als globale Variablen. Das heißt, wenn in der Funktion lokale Variablen oder Parameter mit demselben Namen wie die globalen Variablen vorhanden sind, werden die globalen Variablen durch die lokalen Variablen überschrieben.
Alle nicht mit var definierten Variablen gelten als globale Variablen
3. Funktionsumfang und Deklaration im Voraus
Die Funktionsrolle von JavaScript bezieht sich auf alle innerhalb der Funktionsvariablen deklarierten Variablen werden immer im Funktionskörper definiert, was bedeutet, dass die Variablen verfügbar sind, bevor sie deklariert werden. Dies bedeutet, dass alle Deklarationen in JavaScript-Funktionen (nur Deklarationen, aber keine Zuweisungen) an den Anfang der Funktion verschoben werden Funktionskörper, wobei die Variablenzuweisungsoperationen dort bleiben, wo sie waren. Nehmen Sie das folgende Beispiel:
Hinweis: Die Vorabdeklaration wird während der Vorkompilierung der JavaScript-Engine durchgeführt, bevor der Code ausgeführt wird.
var scope = 'global';function f(){ console.log(scope); var scope = 'local'; console.log(scope); }
Aufgrund der Deklarationsförderung innerhalb der Funktion sieht der obige Code tatsächlich so aus
var scope = 'global';function f(){ var scope; //变量声明提升到函数顶部 console.log(scope); scope = 'local'; //变量初始化依然保留在原来的位置 console.log(scope); }
Nach einer solchen Transformation ist die Antwort sehr offensichtlich. Da der Bereich vor der ersten console.log(scope)-Anweisung definiert, aber kein Wert zugewiesen wurde, ist die Referenz des Bereichs zu diesem Zeitpunkt undefiniert. Vor der zweiten console.log(scope)-Anweisung wurde dem Bereich ein zugewiesen Wert von 'local', daher ist das Ausgabeergebnis lokal.
Funktionsdeklarationsförderung
Funktionsdeklarationssyntax
f('superman');function f(name){ console.log(name); }
Funktionsausdruckssyntax
f('superman');var f= function(name){ console.log(name); }
Das Ausführen des obigen Codes führt zum Fehler Uncaught ReferenceError: f ist nicht definiert(...), die Fehlermeldung zeigt, dass f nicht definiert ist.
Warum gibt es Unterschiede zwischen Funktionsdeklarationen und Funktionsausdrücken im selben Code?
Dies liegt daran, dass die Funktionsdeklaration über eine sehr wichtige Funktion verfügt: das Heben der Funktionsdeklaration. Die Funktionsdeklarationsanweisung wird an die Spitze des externen Skripts oder des externen Funktionsbereichs gehoben (ist sie dem Heben von Variablen sehr ähnlich)? Genau aufgrund dieser Funktion kann die Funktionsdeklaration nach der Anweisung platziert werden, die sie aufruft. Wie im folgenden Beispiel sollte die Endausgabe aussehen? :
var getName = function(){ console.log(2); }function getName (){ console.log(1); } getName();
Manche Leute denken vielleicht, dass das endgültige Ausgabeergebnis 1 ist. Lassen Sie es uns analysieren. In diesem Beispiel geht es um die Förderung von Variablendeklarationen und Funktionsdeklarationen. Wie bereits erwähnt, wird die Funktionsdeklarations-Promotionsfunktion getName(){} nach oben verschoben. Der Funktionsausdruck var getName = function(){} zeigt die Heraufstufung der Variablendeklaration. In diesem Fall ist getName also auch eine Variable, sodass die Deklaration dieser Variablen ebenfalls nach unten verschoben wird, während die Zuweisung der Variablen weiterhin an der ursprünglichen Position verbleibt. Es ist zu beachten, dass Funktionen Vorrang haben. Obwohl sowohl Funktionsdeklarationen als auch Variablendeklarationen hochgestuft werden, werden zuerst Funktionen und dann Variablen hochgestuft. Daher kann die obige Funktion wie folgt umgewandelt werden:
function getName(){ //函数声明提升到顶部 console.log(1); } var getName; //变量声明提升 getName = function(){ //变量赋值依然保留在原来的位置 console.log(2); } getName(); // 最终输出:2
Die endgültige Ausgabe lautet also: 2. Obwohl im ursprünglichen Beispiel die Funktionsdeklaration nach dem Funktionsausdruck steht, wird getName später durch die Zuweisungsoperation des Funktionsausdrucks überschrieben, da die Funktionsdeklaration nach oben verschoben wird, sodass 2 ausgegeben wird.
Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonDetaillierte Analyse der Variablendeklaration und Funktionsdeklarationsförderung in js (mit Beispielen). 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



Standardparameter in C++ bieten die Möglichkeit, Standardwerte für Funktionsparameter anzugeben und so die Lesbarkeit, Einfachheit und Flexibilität des Codes zu verbessern. Standardparameter deklarieren: Fügen Sie nach dem Parameter in der Funktionsdeklaration das Symbol „=“ hinzu, gefolgt vom Standardwert. Verwendung: Wenn die Funktion aufgerufen wird und keine optionalen Parameter bereitgestellt werden, werden die Standardwerte verwendet. Praktischer Fall: Eine Funktion, die die Summe zweier Zahlen berechnet. Ein Parameter ist erforderlich, der andere ist optional und hat den Standardwert 0. Vorteile: Verbesserte Lesbarkeit, erhöhte Flexibilität, reduzierter Boilerplate-Code. Hinweis: Es kann nur in der Deklaration angegeben werden, es muss am Ende stehen und die Typen müssen kompatibel sein.

In C++ wirkt sich die Reihenfolge der Funktionsdeklarationen und -definitionen auf den Kompilierungs- und Verknüpfungsprozess aus. Am gebräuchlichsten ist die Deklaration zuerst und die Definition danach; Sie können auch „forwarddeclaration“ verwenden, um die Definition vor der Deklaration zu platzieren. Wenn beide gleichzeitig vorhanden sind, ignoriert der Compiler die Deklaration und verwendet nur die Definition.

Lösen des „error:useofundeclaredidentifier'variable'“-Problems in C++-Code Beim Programmieren in C++ stoßen wir häufig auf verschiedene Fehler. Einer der häufigsten Fehler ist „error:useofundeclaredidentifier'variable‘“. Dieser Fehler bedeutet normalerweise, dass wir in unserem Code eine nicht deklarierte Variable verwenden. In diesem Artikel werden Einzelheiten erläutert

Eine Funktionsdeklaration informiert den Compiler über die Existenz der Funktion und enthält nicht die Implementierung, die zur Typprüfung verwendet wird. Die Funktionsdefinition stellt die eigentliche Implementierung einschließlich des Funktionskörpers bereit. Zu den wichtigsten Unterscheidungsmerkmalen gehören: Zweck, Ort, Rolle. Das Verständnis der Unterschiede ist entscheidend für das Schreiben von effizientem und wartbarem C++-Code.

Funktionsdeklaration und -definition sind in C++ erforderlich. Die Funktionsdeklaration gibt den Rückgabetyp, den Namen und die Parameter der Funktion an, während die Funktionsdefinition den Funktionskörper und die Implementierung enthält. Deklarieren Sie zunächst die Funktion und verwenden Sie sie dann in Ihrem Programm unter Übergabe der erforderlichen Parameter. Verwenden Sie die Return-Anweisung, um einen Wert von einer Funktion zurückzugeben.

C++-Kompilierungsfehler: Funktionsaufruf stimmt nicht mit Funktionsdeklaration überein, wie kann man ihn lösen? Bei der Entwicklung von C++-Programmen treten zwangsläufig einige Kompilierungsfehler auf. Einer der häufigsten Fehler besteht darin, dass der Funktionsaufruf nicht mit der Funktionsdeklaration übereinstimmt. Diese Art von Fehler kommt unter C++-Programmierern häufig vor, da sie nicht auf die Korrektheit der Funktionsdeklaration achten und zu Kompilierungsproblemen führen, was letztendlich Zeit und Energie zur Behebung des Problems verschwendet und die Entwicklungseffizienz beeinträchtigt. Um diesen Fehler zu vermeiden, müssen einige Normen und Standardpraktiken befolgt werden. Schauen wir uns diese unten an. Was ist ein Funktionsaufruf im Vergleich zu einer Funktionsdeklaration?
![[[nodiscard]] in C++-Funktionsdeklarationen: Entmystifizierung der Folgen des Ignorierens von Rückgabewerten](https://img.php.cn/upload/article/000/465/014/171455868319393.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Das Attribut [[nodiscard]] gibt an, dass der Rückgabewert der Funktion nicht ignoriert werden darf. Andernfalls wird eine Compilerwarnung oder ein Compilerfehler ausgegeben, um die folgenden Konsequenzen zu verhindern: nicht initialisierte Ausnahmen, Speicherverluste und falsche Berechnungsergebnisse.

PHP ist eine sehr beliebte Webentwicklungssprache, die es Entwicklern ermöglicht, dynamische Webanwendungen auf der Serverseite zu erstellen. In PHP ist eine Variable eine grundlegende Datenstruktur, die zum Speichern von Werten und Daten verwendet wird. In diesem Artikel wird die Verwendung von Variablen in PHP vorgestellt. Grundlegende Syntax von Variablen Die Syntax zum Deklarieren von Variablen in PHP ist sehr einfach. Variablennamen beginnen mit einem Dollarzeichen ($), gefolgt vom Variablennamen. Variablennamen können eine Kombination aus Buchstaben, Zahlen oder Unterstrichen sein, sie müssen jedoch mit einem Buchstaben oder einem Unterstrich beginnen. Der folgende Code deklariert beispielsweise einen Namen
