Heim >Web-Frontend >js-Tutorial >Javascript-Kernlesung, lexikalische Struktur, Grundkenntnisse
Die lexikalische Struktur einer Programmiersprache ist ein grundlegender Satz von Regeln, die beschreiben, wie Sie die Sprache schreiben. Als Grundlage der Syntax legt sie fest, wie Variablennamen aussehen, wie Kommentare geschrieben werden und wie Anweisungen unterschieden werden. In diesem Abschnitt wird in sehr kurzer Zeit die lexikalische Struktur von JavaScript vorgestellt.
1. Zeichensatz
Javascript-Programme werden mit dem Unicode-Zeichensatz geschrieben, der eine Obermenge von ASCII und Latin-1 ist und fast alle Sprachen in der Region unterstützt. ECMAscript3 erfordert, dass die Implementierung von Javascript Unicode2,1 und nachfolgende Versionen unterstützen muss, und ECMAscript5 erfordert Unterstützung von Unicode3 und nachfolgenden Versionen
i. Groß-/Kleinschreibung beachten
Javascript unterscheidet zwischen Groß- und Kleinschreibung, was bedeutet, dass Schlüsselwörter, Variablen, Funktionsnamen und alle Ausdruckszeichen in konsistenter Groß- und Kleinschreibung angegeben werden müssen. Beispielsweise muss das Schlüsselwort while als while und nicht als While oder WHILE geschrieben werden.
Es sollte jedoch beachtet werden, dass bei HTML die Groß-/Kleinschreibung nicht beachtet wird (obwohl dies bei XHTML der Fall ist), da es eng mit clientseitigem Javascript verwandt ist und daher leicht verwechselt werden kann. Beispielsweise kann im in HTML festgelegten Verarbeitungsereignis das onclick-Attribut als onClick geschrieben werden, in JavaScript wird onclick jedoch in Kleinbuchstaben geschrieben.
ii Leerzeichen-, Zeilenumbruch- und Formatsteuerelemente
Javascript ignoriert Leerzeichen zwischen Token im Programm. In den meisten Fällen ignoriert JavaScript auch Zeilenumbrüche. Da Leerzeichen und Zeilenumbrüche im Code frei verwendet werden können, können saubere und konsistente Einrückungen verwendet werden, um einen einheitlichen Codierungsstil zu bilden und die Lesbarkeit des Codes zu verbessern.
Javascript erkennt zusätzlich das Leerzeichen (u0020). JavaScript stellt auch die folgenden Zeichen dar, die Leerzeichen markieren: horizontaler Tabulator (u0009), vertikaler Tabulator (u000B), Formularvorschub (u000C), geschützter Leerraum (u00A0), Bytereihenfolgemarkierung (uFEFF) und alle Zeichen der Kategorie Zs in Unicode. JavaScript erkennt die folgenden Zeichen als Abschlusszeichen: Zeilenvorschub (u000A), Wagenrücklauf (u000D), Zeilentrennzeichen (u2028) und Absatztrennzeichen (u2029). Das Wagenrücklaufzeichen und das Zeilenvorschubzeichen werden zusammen in ein einzelnes Zeilenendezeichen geparst.
Steuerzeichen im Unicode-Format (Cf-Klasse), wie z. B. „Schreibmarke von rechts nach links“ (u200F) und „Schreibmarke von links nach rechts“ (u200E), steuern die visuelle Anzeige von Text. Dies ist für die korrekte Anzeige einiger nicht-englischer Texte von entscheidender Bedeutung. Diese Zeichen können in JavaScript-Kommentaren, Zeichenfolgenliteralen und regulären Ausdrucksliteralen verwendet werden, jedoch nicht in Bezeichnern (z. B. Variablennamen), mit Ausnahme von Nullbreiten Connector (u200D) und Zero-Width Non-Connector (uFEFF), bei denen es sich um Handzeichen handelt, die in Bezeichnern vorkommen, aber nicht als Bezeichner verwendet werden können. Wie oben erwähnt, wird das Byte Order Mark Format Control Character (uFEFF) als Leerzeichen
behandeltiii.Unicode-Escape-Sequenz
In mancher Computerhardware und -software kann der vollständige Satz an Unicode-Zeichen nicht angezeigt oder eingegeben werden. Um Programmierer zu unterstützen, die ältere Technologien verwenden, definiert JavaScript eine spezielle Sequenz, die 6 ASCII-Zeichen verwendet, um jeden internen 16-Bit-Unicode-Code darzustellen. Diesen Unicode-Escape-Sequenzen wird ein u vorangestellt, gefolgt von der hexadezimalen Maus (dargestellt durch Zahlen und Groß- und Kleinbuchstaben A–F). Diese Unicode-Escape-Schreibmethode kann in JavaScript-Zeichenfolgenliteralen, regulären Ausdrücken und Bezeichnern (außer Schlüsselwörtern) verwendet werden. Beispielsweise lautet die Unicode-Escape-Schreibmethode des Zeichens é u00E9, und die folgenden beiden Javascript-Zeichenfolgen sind genau gleich.
"café" === "cafu00e9" => true
Unicode-Escape-Schrift kann in Kommentaren erscheinen, aber da JavaScript Kommentare ignoriert, werden sie im Kontext nur als ASCII-Zeichen behandelt und werden nicht von den entsprechenden Unicode-Zeichen
iiii Standardisierung
Unicode ermöglicht mehrere Methoden zum Codieren desselben Zeichens. Beispielsweise kann das Zeichen é das Unicode-Zeichen u00E9 oder das gewöhnliche ASCII-Zeichen e gefolgt von einem Intonationszeichen u0301 verwenden. Im Texteditor sind die von diesen beiden Kodierungen angezeigten Ergebnisse genau die gleichen, aber ihre binären Kodierungsdarstellungen sind unterschiedlich . Dasselbe gilt auch für Computer. Der Unicode-Standard definiert ein bevorzugtes Codeformat für Indexzeichen und bietet eine standardisierte Verarbeitungsmethode zum Konvertieren von Text in ein zum Vergleich geeignetes Standardformat. Andere Darstellungen, Zeichenfolgen oder reguläre Ausdrücke werden nicht standardisiert.
2. Notizen
Javascript unterstützt zwei Kommentarmethoden. Der Text nach dem Ende der Zeile „//“ wird von JavaScript als Kommentar ignoriert.
Darüber hinaus wird auch der Text zwischen /* und */ als Kommentar behandelt. Diese Art von Kommentar kann zeilenübergreifend geschrieben werden, verschachtelte Kommentare sind jedoch nicht möglich.
//Einzeiliger Kommentar
/*
*
*
*
*/
3. Direkte Messung
Die sogenannten Literale sind Datenwerte, die direkt im Programm verwendet werden. Die Literalmengen sind unten aufgeführt
{x:1,y:2} //Objekt
[1,2,3,4,5] //Array
4. Bezeichner und reservierte Wörter
Ein Bezeichner ist ein Name. In JavaScript werden Bezeichner verwendet, um Variablen und Funktionen zu benennen oder um Sprungstellen in bestimmten Schleifenanweisungen im JavaScript-Code zu markieren. JavaScript-Bezeichner müssen mit Buchstaben beginnen. Beginnen Sie mit einem Unterstrich oder Dollarzeichen. Nachfolgende Zeichen können Buchstaben sein. Nummer. Unterstrich oder Dollarzeichen (Zahlen dürfen nicht als erster Buchstabe erscheinen, JavaScript kann Bezeichner und Zahlen leicht unterscheiden), die folgenden sind zulässige Bezeichner
Javascript reservierte Wörter
class const enum export
export erweitert import super
Außerdem sind diese Schlüsselwörter in normalem Javascript zulässig, im strikten Modus jedoch reservierte Wörter
Implementiert das Schnittstellenpaket „Let Private Public Yield“
protected static
Im gleichen strengen Modus gelten strenge Einschränkungen für die folgenden Bezeichner, Variablennamen, Parameternamen und Funktionsnamen können jedoch nicht verwendet werden.
Argumentauswertung
Die spezifische Implementierung von JavaScript kann eindeutige globale Variablen und Funktionen definieren. Jeder spezifische JavaScript-Laufumgebungsserver (Client) usw. verfügt über eine eigene globale Attributliste, die berücksichtigt werden muss. (Fensterobjekt zum Verständnis der im Client-Javascript definierten globalen Variablen und Funktionsliste)
5. Optionales Semikolon
Wie viele Programmiersprachen verwendet JavaScript Semikolons (;), um Anweisungen zu trennen. Dies ist sehr wichtig, um die Lesbarkeit und Übersichtlichkeit des Codes zu verbessern. Ohne Trennzeichen wird das Ende einer Anweisung zum Anfang der nächsten Anweisung und umgekehrt.
In JavaScript steht jede Anweisung in einer eigenen Zeile und das Semikolon zwischen Anweisungen kann normalerweise weggelassen werden (das Semikolon vor der geschweiften Klammer „}“ am Ende des Programms kann ebenfalls weggelassen werden). Viele JavaScript-Programmierer (einschließlich der Codebeispiele in diesem Buch) verwenden ein Semikolon, um das Ende einer Anweisung deutlich zu kennzeichnen, auch wenn das Semikolon nicht unbedingt benötigt wird. Ein anderer Stil besteht darin, ein Semikolon zu verwenden, wenn es weggelassen werden kann Verwenden Sie Semikolons nur, wenn es notwendig ist. Unabhängig von Ihrem Programmierstil gibt es einige Details zu JavaScript, die Sie beachten sollten.
Im folgenden Code kann das erste Semikolon weggelassen werden
a=3;
b=4;
Wenn es jedoch im folgenden Format geschrieben ist, kann das erste Semikolon nicht weggelassen werden.
a=3;b=4;
Es ist zu beachten, dass JavaScript bei allen Zeilenumbrüchen keine Semikolons ausfüllt: JavaScript füllt Semikolons nur dann aus, wenn der Code ohne Semikolons nicht normal analysiert werden kann. Mit anderen Worten (ähnlich den beiden Stellen im Code unten Ausnahme), wenn Die aktuelle Anweisung und nachfolgende Nicht-Leerzeichen können nicht als Ganzes analysiert werden. JavaScript füllt das Semikolon am Ende der aktuellen Anweisung aus. Schauen Sie sich den folgenden Code an
var a
a
=
3
console.log(a)
Javascript analysiert es als
var a;a=3;console.log(a);
JavaScript fügt der ersten Zeile ein Semikolon hinzu. Ohne das Semikolon kann JavaScript var a a im Code nicht analysieren. Das zweite a kann allein als Anweisung „a;“ betrachtet werden, aber JavaScript füllt das Semikolon am Ende der zweiten Zeile nicht aus. Weil es zusammen mit der dritten Inhaltszeile in „a=3;“ analysiert werden kann.
Einige Regeln zur Trennung von Anweisungen führen zu unerwarteten Situationen. Dieser Codebruch ist in zwei Zeilen unterteilt, die wie zwei unabhängige Anweisungen aussehen.
var y = x f
(a b).toString()
Die Klammern in der zweiten Zeile und das f in der ersten Zeile bilden einen Funktionsaufruf, der diesen Code als
var y = x f(a b).toString();
Offensichtlich ist dies nicht die Absicht des Codes. Um den obigen Code in zwei verschiedene Anweisungen zu analysieren, muss das Anzeigesemikolon des Verhaltens manuell ausgefüllt werden
Wenn eine Anweisung mit ( [ / -) beginnt, ist es im Allgemeinen sehr wahrscheinlich, dass sie zusammen mit der vorherigen Anweisung analysiert wird. Anweisungen, die mit / - beginnen, sind nicht sehr häufig, Anweisungen, die mit ( [ beginnen, sind jedoch sehr häufig. Zumindest ist es in einigen JavaScript-Codierungsstilen sehr üblich, vor der Anweisung ein Semikolon hinzuzufügen. Auf diese Weise bleibt die aktuelle Anweisung erhalten, auch wenn sie versehentlich geändert wird das Gleiche. Es wird korrekt analysiert
Wenn die aktuelle Anweisung und die nächste Anweisungszeile nicht kombiniert und analysiert werden können. JavaScript füllt dann das Semikolon nach der ersten Zeile auf, was mit Ausnahme von zwei Spalten die allgemeine Regel ist. Die erste Ausnahme betrifft die Anweisungen returnm, birak und continue, wenn auf diese drei Schlüsselwörter ein Zeilenumbruch folgt. JavaScript füllt Semikolons an Zeilenumbrüchen aus. Zum Beispiel
Rückkehr
wahr;
Und Javascript wird in
analysiert
Die ursprüngliche Bedeutung des Codes ist
Das heißt, zwischen den nachfolgenden Ausdrücken return, break und continue dürfen keine Zeilenumbrüche stehen. Wenn Zeilenumbrüche hinzugefügt werden, meldet das Programm nur unter ganz besonderen Umständen einen Fehler. Und das Debuggen des Programms ist sehr umständlich.