Einführung in den strikten Modus von JavaScript verwenden Sie strikt

Einführung in den strikten Modus von JavaScript verwenden Sie strikt

1. Übersicht

1.1 Was ist der strikte Modus?

Der strikte Modus ist eine restriktivere Variante von JavaScript . Der strikte Modus ist keine Teilmenge von JavaScript , er unterscheidet sich semantisch vom normalen Code.

Obwohl die meisten Browser den strikten Modus mittlerweile unterstützen, unterstützen einige ältere Browserversionen den strikten Modus immer noch nicht. Verwenden Sie den strikten Modus daher nicht, ohne die Funktionen des strikten Modus zu testen.

Der strenge Modus und der nicht strenge Modus können in JavaScript koexistieren, sodass der strenge Modus selektiv zum Skript hinzugefügt werden kann.

1.2 Zweck des strikten Modus

Der Zweck der Verwendung des strikten Modus ist folgender:

Erstens verwandelt der strikte Modus JavaScript Fallstricke in offensichtliche Fehler.
Zweitens behebt der strikte Modus einige Fehler, die für die Engine schwer zu optimieren sind: Derselbe Code ist im strikten Modus manchmal schneller als im nicht strikten Modus.
Der strenge Modus deaktiviert einige Syntaxen, die möglicherweise in zukünftigen Versionen definiert werden.

2. Aktivieren Sie den strikten Modus

Es gibt zwei Möglichkeiten, den strengen Modus in JavaScript zu aktivieren: die globale Aktivierung des strengen Modus und die lokale Aktivierung des strengen Modus.

2.1 Aktivieren Sie den strikten Modus global

Um den globalen strikten Modus zu aktivieren, müssen Sie vor allen Codes nur eine Zeichenfolge eingeben. Die Zeichenfolge lautet wie folgt:

"use strict"; // oder ‚use strict‘;


Es ist zu beachten, dass, wenn sich der vorherige JavaScript Code im nicht strengen Modus befindet, empfohlen wird, den strengen Modus für diesen Code nicht zu aktivieren, da dies zu Problemen führen kann. Es empfiehlt sich, den strikten Modus zunächst lokal zu aktivieren und den Code dann schrittweise anzupassen.

2.2 Aktivieren Sie den strikten Modus lokal

Um den strikten Modus lokal zu aktivieren, können Sie der ersten Zeile einer angegebenen Funktion die Zeichenfolge „ use strict “ hinzufügen. Diese Zeichenfolge hält die Funktion im nicht strikten Modus.

Der Beispielcode zum Aktivieren des strikten Modus lautet wie folgt:

//Strict-Modus global aktivieren //"use strict"
v = 100
Konsole.log(v)

Funktion Spaß() {
  // Aktivieren Sie lokal den strikten Modus „use strict“.
  vv = 200
  Konsole.log(vv)
}
// fun() wirft eine Ausnahme vv ist nicht definiert

3. Variablen im strikten Modus

3.1 Verhindern Sie die versehentliche Erstellung von Variablen

Die sogenannten versehentlich erstellten Variablen sind Variablen, die ohne Verwendung des Schlüsselworts var deklariert wurden. Wenn im strengen Modus versehentlich eine globale Variable erstellt wird, wird eine Ausnahme ausgelöst.

Der Beispielcode lautet wie folgt:

„streng verwenden“
// Im nicht strikten Modus wird beim Erstellen einer solchen Variable kein Fehler gemeldet, im strikten Modus wird beim Erstellen einer solchen Variable jedoch eine Ausnahme ausgelöst v = 100
Konsole.log(v)


3.2 Stiller Ausfall wird zur Ausnahme

Stiller Fehler bedeutet, dass kein Fehler auftritt und keine Auswirkung hat. Im strikten Modus wird daraus eine Ausnahme.

3.3 Deaktivieren des Löschschlüsselworts

Im nicht strikten Modus schlägt die Verwendung des Schlüsselworts delete auf eine globale Variable stillschweigend fehl, während im strikten Modus eine Ausnahme ausgelöst wird. Der Beispielcode lautet wie folgt

„streng verwenden“
var v = 100
delete v // Syntaxfehler: Löschen eines nicht qualifizierten Bezeichners im strengen Modus.
Konsole.log(v)


3.4 Einschränkungen bei Variablennamen

Im strikten Modus hat JavaScript auch Einschränkungen bei Variablennamen. Insbesondere können reservierte Wörter nicht als Variablennamen verwendet werden. Die Verwendung reservierter Wörter als Symbole als Variablennamen führt zu Syntaxfehlern.

4. Objekte im strikten Modus

4.1 Nicht löschbare Attribute

Im nicht strikten Modus schlägt die Verwendung des Schlüsselworts delete für eine nicht löschbare Eigenschaft stillschweigend fehl, während im strikten Modus eine Ausnahme ausgelöst wird.

Der Beispielcode lautet wie folgt:

"streng verwenden"
lösche Object.prototype; //Wirf eine Ausnahme

4.2 Vergabe von schreibgeschützten Eigenschaften

Im nicht strikten Modus schlägt die Zuweisung eines Wertes zu einer schreibgeschützten Eigenschaft stillschweigend fehl, im strikten Modus wird jedoch eine Ausnahme ausgelöst. Der Beispielcode lautet wie folgt:

„streng verwenden“

var obj = {}
Objekt.defineProperty(obj, 'Name', {
  Wert: 'eine Schüssel Haferbrei',
})
obj.name = 'Yiwan Zhou' //Löst eine Ausnahme aus

4.3 Nicht erweiterbare Objekte

Das Hinzufügen neuer Eigenschaften zu einem nicht erweiterbaren Objekt schlägt im nicht strengen Modus stillschweigend fehl, löst im strengen Modus jedoch eine Ausnahme aus.

Der Beispielcode lautet wie folgt:

//Aktiviere den globalen strikten Modus „use strict“
var obj = {}
//Nicht erweiterbar machen Object.preventExtensions(obj)
//Erweitern Sie das Objektattribut obj.name = 'Yiwan Zhou' //Werfen Sie eine Ausnahme

5. Funktionen im strikten Modus

5.1 Parameternamen müssen eindeutig sein

Im nicht strikten Modus können Funktionsparameter wiederholt werden, im strikten Modus wird jedoch eine Ausnahme ausgelöst, wenn die Funktionsparameter wiederholt werden. Der Beispielcode lautet wie folgt:

„streng verwenden“

Funktion Spaß(a, a, b) {
  konsole.log(a + a + b)
}
/*
 *Das Ergebnis im nicht strikten Modus ist 7=2+2+3
 *Im strikten Modus wird eine Ausnahme ausgelöst*/
Spaß (1, 2, 3)


5.2 Unterschiede in den Argumenten

arguments verhält sich im strengen und im nicht strengen Modus unterschiedlich.

Die Unterschiede sind wie folgt:

  • Im nicht strikten Modus werden Änderungen an den tatsächlichen Parameterwerten auch im arguments widergespiegelt.
  • Im strikten Modus sind benannte Parameter vollständig vom ' arguments' Objekt getrennt.

Der Beispielcode lautet wie folgt:

„streng verwenden“

Funktion Spaß(v) {
  v = "100"
  Konsole.log(v)
  console.log(Argumente[0])
}
/*
 * Das im nicht strikten Modus ausgegebene Ergebnis ist 100, 100
 *Die im strikten Modus gedruckten Ergebnisse sind 100, 200
 */
Spaß(200)


5.3 arguments.callee-Eigenschaft

Im nicht strikten Modus können Sie die Eigenschaft arguments.callee verwenden, die den aktuellen Funktionsnamen zurückgibt. Im strikten Modus löst die Verwendung dieser Eigenschaft eine Ausnahme aus.

Der Beispielcode lautet wie folgt:

„streng verwenden“

Funktion Spaß () {
Konsole.log(Argumente.Callee);
}
fun()//Eine Ausnahme werfen

5.4 Einschränkungen bei Funktionsdeklarationen

Im strikten Modus können Funktionen nur im globalen und lokalen Gültigkeitsbereich deklariert werden. Es ist ein Fehler, Funktionssyntax außerhalb dieser beiden Gültigkeitsbereiche zu deklarieren (z. B. if-Anweisungsblöcke).

Der Beispielcode lautet wie folgt:

„streng verwenden“

Funktion Spaß() {
  console.log(Argumente.Angerufener)
}
fun() //Eine Ausnahme werfen

6. Erhöhen Sie den Umfang von eval()

Im strikten Modus können mit der Funktion eval() erstellte Variablen nur innerhalb der Funktion verwendet werden.

Bei externer Verwendung wird eine Ausnahme ausgelöst. Der Beispielcode lautet wie folgt:

„streng verwenden“
eval('var v=100')
console.log(v) //Eine Ausnahme auslösen

7. Unterdrücken Sie dies

Wenn Sie die Methode apply() oder call() der Fucntion im nicht strikten Modus verwenden, werden null oder undefined Werte in das globale Objekt konvertiert. Im strikten Modus ist this Wert der Funktion immer der angegebene Wert.

Der Beispielcode lautet wie folgt:

// Aktivieren Sie den strikten Modus „use strict“

var v = 100

Funktion fn() {
  konsole.log(dieses.v)
}

var obj = {
  v: 200,
}

fn.call(obj) //dies zeigt auf das globale Objekt

Abschluss:

In diesem Artikel werden grundsätzlich alle Situationen des strikten Modus vorgestellt. Dies reicht aus, um die mit dem strikten Modus verbundenen Probleme bei der täglichen Entwicklung zu lösen.

Dies ist das Ende dieses Artikels über den strikten JavaScript Modus use strict . Weitere Informationen zum strikten JavaScript-Modus „use strict“ finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Analyse der Verwendungsbeispiele für den strikten Modus von JavaScript (use strict)
  • Javascript-Strict-Modus - Verwendung von Strict - ausführliche Erklärung

<<:  Zusammenfassung der Dockerfile-Maven-Plugin-Nutzungsanleitung

>>:  Reines CSS zum Anpassen der Div-Höhe entsprechend der adaptiven Breite (Prozentsatz)

Artikel empfehlen

Detaillierter Installationsprozess von MySQL5.6.40 unter CentOS7 64

MySQL5.6.40-Installationsprozess unter CentOS7 64...

So stellen Sie ElasticSearch in Docker bereit

1. Was ist ElasticSearch? Elasticsearch wird eben...

Zusammenfassung der drei Regeln für die React-Statusverwaltung

Inhaltsverzeichnis Vorwort Nr.1 Ein Fokus Nr. 2 E...

Detaillierte Schritte zur Installation von Mysql5.7.19 mit yum auf Centos7

In der Yum-Quelle von Centos7 ist standardmäßig k...

So installieren Sie allgemeine Komponenten (MySQL, Redis) in Docker

Docker installiert MySQL Docker-Suche MySQL. Such...

Detaillierte Erklärung zur Verwendung des Grep-Befehls in Linux

1. Offizielle Einführung grep ist ein häufig verw...

Vue-Ereignisparameter $event = Ereigniswertfall

Vorlage <el-table :data="Datenliste"...

Detaillierte Erklärung der Schlüsselwörter und reservierten Wörter in MySQL 5.7

Vorwort Die Schlüsselwörter von MySQL und Oracle ...

Implementierung eines MySQL-Gemeinschaftsindex (zusammengesetzter Index)

Gemeinsamer Index Die Definition des gemeinsamen ...

Ein Artikel zeigt Ihnen, wie Sie den Watch-Listener von Vue verwenden

Inhaltsverzeichnis Hörer beobachten Format Richte...

Docker verwendet ein einzelnes Image zum Zuordnen zu mehreren Ports

brauchen: Der Ressourcenserver der offiziellen We...

W3C Tutorial (2): W3C Programme

Der W3C-Standardisierungsprozess ist in 7 verschi...

Die Rolle der neuen Feature-Window-Funktionen von MySQL 8

Zu den neuen Funktionen in MySQL 8.0 gehören: Vol...