Heim >Web-Frontend >js-Tutorial >Javascript-Kernlesung, lexikalische Struktur, Grundkenntnisse

Javascript-Kernlesung, lexikalische Struktur, Grundkenntnisse

WBOY
WBOYOriginal
2016-05-16 16:16:241164Durchsuche

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

behandelt

iii.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

gefolgt

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

Code kopieren Der Code lautet wie folgt:

12 //Nummer
1.2 //Dezimal
„Hllo World“ //String-Text
              'hi' //Noch eine Zeichenfolge
                 true //Boolescher Wert
                  false //Boolescher Wert
/ Javascript / gi // Direkte Menge regulärer Ausdrücke (Matching-Modus-Match)
                                                                                                                   null
In Kapitel 3 werden Zahlen und String-Literale ausführlich erläutert. Reguläre Ausdrucksliterale werden in Kapitel 10 erläutert. Weitere Ausdrücke können als Array- oder Objektliterale geschrieben werden.

{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

Code kopieren Der Code lautet wie folgt:
mein_Variablenname
              b13
               _dummy
               $str

Aus Gründen der Portabilität und der einfachen Schreibbarkeit verwenden wir zum Schreiben von Bezeichnern normalerweise nur ASCII-Buchstaben und -Zahlen. Dann ist zu beachten, dass JavaScript das Erscheinen von Buchstaben und Zahlen im Unicode-Zeichensatz in Bezeichnern zulässt (technisch gesehen ermöglicht ECMAScript das Erscheinen der Mn-Klasse, der Mc-Klasse und der P-Klasse des Unicode-Zeichenmechanismus nach dem ersten Zeichen des Bezeichners). Daher können Programmierer nicht-englische Sprachen oder mathematische Notationen verwenden, um Bezeichner zu schreiben

Code kopieren Der Code lautet wie folgt:
var sá = true;
          var π = 3,14;

Javascript entfernt einige Bezeichner und verwendet sie als Schlüsselwörter, sodass Sie diese Schlüsselwörter nicht mehr als Bezeichner im Programm verwenden können.

Code kopieren Der Code lautet wie folgt:
Pause
Fall
fangen
weiter
Standard
löschen
tun
sonst
endlich
für
Funktion
wenn
im
Instanz von
neu
zurück
Schalter
das
werfen
versuche es
Art von
var
ungültig
während
mit

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

betrachtet

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

Zum Beispiel

Rückkehr

wahr;
Und Javascript wird in
analysiert

return;ture;

Die ursprüngliche Bedeutung des Codes ist

true zurückgeben;

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.

Das zweite Beispiel beinhaltet den -- Operator. Diese Ausdruckssymbole können Präfixe und Suffixe für Bezeichnerausdrücke darstellen. Wenn es als Suffixausdruck verwendet wird, wird es als Suffixausdruck verwendet. Es und der Ausdruck sollten in einer Zeile stehen. Andernfalls wird das Ende der Zeile mit Semikolons aufgefüllt.

Code kopieren Der Code lautet wie folgt:
x

jj

Der obige Code wird in

analysiert

Code kopieren Der Code lautet wie folgt:

x;
y
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn