Die vorherigen Wörter
JavaScript ist eine einfache Sprache und eine komplexe Sprache. Es ist einfach, weil es nur einen Moment braucht, um zu lernen, es zu benutzen; Es ist kompliziert, weil es Jahre dauert, um es wirklich zu meistern. Tatsächlich verweisen Front-End-Ingenieure in großem Maße auf JavaScript-Ingenieure. Es ist einfach, mit dem Front-End zu beginnen und schwer zu meistern. Es bezieht sich auf das Front-End und vor allem JavaScript. Dieser Artikel ist der erste Artikel in der grundlegenden Grammatik von JavaScript - lexikalische Struktur
Beziehung zu Java
Es gibt ein solches Sprichwort über JavaScript: Die Beziehung zwischen Java und JavaScript ist die Beziehung zwischen Lei Feng und Lei Feng Tower. Ist es also wichtig?
Der ursprüngliche Name von JavaScript war LivesScript. Der Grund, warum ich JavaScript als offizieller Name ausgewählt habe, war wahrscheinlich, es wie eine berühmte Familie klingen zu lassen. Neben der Syntax, die Java ähnelt, sind JavaScript und Java zwei völlig unterschiedliche Programmiersprachen.
Programmiersprachen sind in zwei Kategorien unterteilt: interpretiert und kompiliert. Sprachen wie Java oder C ++ erfordern einen Compiler. Ein Compiler ist ein Programm, das den Quellcode in hochrangigen Sprachen wie Java in Dateien übersetzen kann, die direkt auf dem Computer ausgeführt werden. Interpretierte Programmiersprachen erfordern keine Compiler - sie benötigen nur Dolmetscher, und der JavaScript -Interpreter im Browser wird direkt in den Quellcode eingelesen und führen ihn aus.
Java kann theoretisch in fast jeder Umgebung bereitgestellt werden, aber JavaScript wird in der Regel nur auf Webbrowser angewendet. Darüber hinaus sind in der JavaScript -Sprache Funktionen unabhängige Datentypen, wobei die Vererbungsketten, die auf Prototypobjekten basieren, und die JavaScript -Syntax ist viel freier als Java.
Grundsätzlich ist die ursprüngliche Bedeutung des Namens JavaScript "sehr ähnlich wie Java Scripting Language".
Definition
JavaScript ist eine dynamische, schwach interpretierte Programmiersprache, die für objektorientierte und funktionale Programmierstile sehr geeignet ist. Die Syntax von JavaScript stammt aus Java, seine erstklassige Funktion stammt aus dem Schema und deren prototypbasierte Erbschaft stammt aus Selbst
JavaScript wird verwendet, um den dynamischen Effekt der Seite zu verbessern und Echtzeit und dynamische Interaktion zwischen der Seite und dem Benutzer zu realisieren.
JavaScript besteht aus drei Teilen: ECMascript, DOM und BOM
[1] ECMAScript wird durch ECMA-262 definiert und bietet Kernsprachenfunktionen (ECMA ist die Europäische Vereinigung von Computerherstellern)
[2] DOM (Dokumentobjektmodell) Dokumentobjektmodell, bereitgestellt Methoden und Schnittstellen zum Zugriff auf und zum Manipulieren von Webseiteninhalten
[3] BOM (Browser -Objektmodell) Browser -Objektmodell, das Methoden und Schnittstellen für die Interaktion mit dem Browser bereitstellt
Fallempfindlichkeit
In Bezug auf das Sprach -JavaScript, egal wie sehr es betont wird, ist es eine Fallempfindlichkeit. Schlüsselwörter, Variablen, Funktionsnamen und alle Kennungen in JavaScript müssen im oberen und unteren Fall konsistent sein.
// 'online', 'online', 'online', 'online' sind vier verschiedene Variablennamen
[Anmerkung] HTML ist nicht fallempfindlich
Reserviertes Wort
Wie jede andere Programmiersprache behält JavaScript einige Kennungen für seine eigene Verwendung bei. Diese reservierten Wörter können nicht als gewöhnliche Kennungen verwendet werden. Aufgrund der irreführenden Referenzbücher scheint es, dass reservierte Wörter und Schlüsselwörter getrennt sind, aber tatsächlich nicht. Schlüsselwörter sind nur ein Teil von reservierten Wörtern. Reservierte Wörter umfassen Schlüsselwörter, zukünftige reservierte Wörter, leere Literale und booleale Literale
Reservedword ::
Stichwort
FuturereserveDWord
Nullliteral
Booleanliteral
Schlüsselwörter
Break do Instanztypeof
Fall sonst neuer Var
Fang schließlich zurückkehren void
Fahren Sie mit dem Schalter fort
Debugger -Funktion dies mit
Standard, wenn Sie löschen, wenn Sie löschen
in Versuch
Zukünftige reservierte Wörter
Die folgenden Wörter werden als vorgeschlagene Erweiterungs -Schlüsselwörter verwendet und daher reserviert, damit diese Erweiterungen in Zukunft übernommen werden können.
Klasse Enum erstreckt sich super
const Exportimport
Ecmascript3 Version
Die oben genannten sind reservierte Wörter für ECMascript5, aber die reservierten Wörter in der Version ecmascript3 sind unterschiedlich. Wenn der Code auf einem Interpreter basierend auf der Implementierung von ECMAScript3 ausgeführt wird, sollten Sie vermeiden, die folgenden reservierten Wörter als Bezeichner zu verwenden.
abstraktes Boolean Byte Char Class Constduble Enum Export erweitert den endgültigen Float
Goto implementiert importiert int interfacelong native paket privat geschützt
Öffentliche kurze statische Super -synchronisierte Throw -Transienten -flüchtig
Vordefinierte Variablen und Funktionen
Darüber hinaus hat JavaScript viele globale Variablen und Funktionen vordefiniert und sollte vermeiden, ihre Namen als Bezeichner -Namen zu verwenden
Argumente Array Boolean Date decodeuri dedeuricomponent cododeuriencodeuricomponent Fehler Evalerror -Funktion Infinity Isfinite Isfinite
Isnan Json Math Nan Zahlenobjekt Parsefloat ParseinT RangeRror
ReferenzError Regexp String SyntaxEerror TypeError Undefined Urierror
Kommentar
Nicht alle Aussagen müssen vom JavaScript -Interpreter interpretiert und ausgeführt werden. Manchmal müssen Sie einige Informationen in das Skript für Ihre eigene Referenz oder Erinnerung schreiben und hoffen, dass der JavaScript -Interpreter diese Informationen direkt ignorieren kann. Diese Art von Informationen sind Kommentare
Kommentare können den Codefluss effektiv verstehen und spielen die Rolle des Lebens im Code, was uns helfen kann, herauszufinden, was Skripte tun.
[Hinweis] Kommentare müssen den Code genau beschreiben. Nutzlose Kommentare sind schlimmer als keine Kommentare
Es gibt viele Möglichkeiten, Kommentare in JavaScript-Skripte einzufügen, einschließlich Einzellinien-Kommentare, Multi-Line-Kommentare und Kommentaren im HTML-Stil
【1】 einzelne Zeilenkommentare beginnen mit zwei Schrägstrichen
// einzelne Zeilenkommentar
【2】 Multi-Line-Kommentare werden auch Block-Level-Kommentare bezeichnet, beginnend mit einem Schrägstrich und einem Sternchen/*, der mit einem Sternchen und einem Schrägstrich endet*/
/*
Dies ist ein Mehrfachkommentar
*/
[Hinweis] Diese Zeichen in Kommentaren auf Blockebene/ **/ können auch in Literalen auf regelmäßiger Ausdruck erscheinen, sodass Kommentare auf Blockebene für kommentierte Codeblöcke unsicher sind.
/*
var rm_a = /a*/.match(s);
*/
【3】 HTML-Style-Kommentare gelten nur für Einzellinien-Kommentare. Tatsächlich handelt der JavaScript-Interpreter <!- und //
<!- Dies ist ein Kommentar in JavaScript
Wenn in HTML -Dokumenten, müssen Sie auch den Kommentar mit -> beenden
<!-Dies ist ein Kommentar in html->
JavaScript erfordert dies jedoch nicht, sondern wird -> als Teil des Kommentarinhalts behandelt
[Anmerkung] HTML ermöglicht es den oben genannten Kommentaren, mehrere Zeilen zu überspannen, aber jede Zeile solcher Kommentare muss zu Beginn des Kommentars "<!-" als Flagge hinzugefügt werden. "<!
<!- Ich kommentiere 1
<!- ich komment 2
<!- Ich kommentiere 3
Da sich der JavaScript -Interpreter bei der Bearbeitung von Kommentaren in diesem Stil von HTML unterscheidet, ist es am besten, ihn nicht in JavaScript -Skripten zu verwenden, um Verwirrung zu vermeiden.
Kommentare im HTML -Stil
Whitespace
Leerzeichen sind normalerweise bedeutungslos, manchmal müssen sie durch die Verwendung getrennt werden, da sie sonst in ein Symbol verschmolzen werden.
var das = dies;
Die Lücken zwischen VAR und das können nicht entfernt werden, aber andere Lücken können entfernt werden
JavaScript ignoriert die Räume zwischen den Token im Programm. In den meisten Fällen ignoriert JavaScript auch Linienbrüche. Da im Code Leerzeichen und Linienbrüche verwendet werden können
// Verbesserung der Code -Lesbarkeit durch Hinzufügen von Whitespace -Zeichen für (var i = 1; i <10; i ++) {//}JavaScript erkennt das Folgende als Whitespace -Zeichen Whitespace
/u0009 Horizontaler Registerkartenzeichen <Tab>
/u000b vertikaler Registerkartenzeichen <vt>
/u000c Seitenwechsel <ff>
/u0020 Space Charakter <P>
/u00a0 Nicht-versuchter Raumzeichen <nbsp>
/Ufeff -Charakterreihenfolge Marke
JavaScript erkennt die folgenden Zeichen als Zeilen -Terminator -Lineterminator
/u000a Newline Charakter <lf>
/u000d Wagenrücklaufzeichen <cr>
/u2028 Zeilenbegrenzung <ls>
/u2029 Absatzsplitter <ps>
Optionales Semikolon
JavaScript verwendet Semikolonen; trennt Aussagen, die sehr wichtig sind, um die Lesbarkeit und Sauberkeit des Codes zu verbessern. JavaScript füllt jedoch keine Semikolons in allen Newlines. Nur wenn der Code ohne das Semikolon nicht korrekt analysiert werden kann, füllt JavaScript Semikolone.
var a
A
=
3
console.log (a)
JavaScript analysiert es als:
var a;
a = 3;
console.log (a);
Diese Trennungsregel von Aussagen kann zu einigen unerwarteten Situationen führen
var y = x + f
(a+b) .ToString
JavaScript analysiert es als:
var y = x + f (a + b) .ToString
Um zuzulassen, dass der obige Code in zwei verschiedene Aussagen analysiert werden kann, muss das explizite Semikolon am Ende der Linie am Ende der Linie manuell ausgefüllt werden
Zwei Ausnahmen
Wenn die aktuelle Anweisung und die nächste Zeilenanweisung nicht zusammengeführt und analysiert werden können, füllt JavaScript das Semikolon nach der ersten Zeile aus, was eine gemeinsame Regel ist, es gibt jedoch zwei Ausnahmen
[1] Die erste Ausnahme ist im Szenario, das Rückkehr, Bruch, Fortsetzung und Aussagen umfasst. Wenn auf diese vier Schlüsselwörter eine Zeilenunterbrechung folgen, füllt JavaScript das Semikolon in der Zeilenunterbrechung aus
Zurückkehren
WAHR;
JavaScript analysiert es als:
Rückkehr; wahr;
Und die ursprüngliche Bedeutung des Codes lautet:
zurückkehren;
[2] Die zweite Ausnahme besteht darin, dass, wenn ++ und - Operatoren beteiligt sind, wenn sie als Suffixausdruck verwendet wird, dieselbe Linie wie der Ausdruck sein sollte. Andernfalls füllt das Ende der Linie das Semikolon, und ++ oder - wird als Präfixbetreiber für die nächste Codezeile verwendet und damit analysiert
X
++
y
JavaScript analysiert es als:
x; ++ y;
Und die ursprüngliche Bedeutung des Codes lautet:
x ++; y;
Obwohl Semikolone nicht erforderlich sind, ist es am besten, es nicht zu weglassen, da das Hinzufügen von Semikolonen viele Fehler vermeiden kann und keine Semikolons am Ende der Codezeile zu Komprimierungsfehlern führen. Das Hinzufügen eines Semikolons verbessert in einigen Fällen auch die Leistung des Codes, da der Parser nicht mehr Zeit verbringen muss, um zu erraten, wo ein Semikolon einfügt werden soll.