Heim > Web-Frontend > js-Tutorial > Hauptteil

Welche Wissenspunkte erklären den strikten JS-Modus im Detail?

亚连
Freigeben: 2018-06-04 11:17:12
Original
1495 Leute haben es durchsucht

In diesem Artikel wurden relevante Wissenspunkte und Codebeispiele im strikten JS-Modus zusammengestellt. Wenn Sie interessiert sind, lassen Sie uns gemeinsam lernen.

Der sogenannte Strict-Modus ist eigentlich eine Zeichenfolge, die keiner Variablen „use strict“ zugewiesen wird.

Wenn diese Eingabeaufforderung im globalen Bereich angegeben wird, wird das gesamte Skript verwendet strenger Modus. Sie können den strikten Modus auch nur in der Funktion

1 aktivieren. Im strikten Modus gibt es keine globalen Variablen

a="test"

Im strikten Modus wird ein Fehler gemeldet, im nicht strikten Modus normal

2. Variable löschen

var Es gibt drei Deklarationssituationen

  • var deklariert Globale Variablen

  • var Lokale Variablen deklariert in

  • Globale Variablen deklariert in eval()

Der erste und zweite Fall können nicht mit Löschen gelöscht werden.

Erstens: Obwohl das im ersten Fall deklarierte globale Objekt ein Attribut von Windows ist, hat dieses Attribut configurable=false und kann daher nicht gelöscht werden

Im zweiten Fall die lokalen Variablen Noch schlimmer ist, dass niemand das angehängte Objekt löscht.

Der dritte Fall eval() wird später besprochen.

Zurück zum Thema. Das heißt, im nicht strikten Modus können Sie Variablen löschen, dies schlägt jedoch fehl und gibt „false“ zurück.

Das Löschen von Variablen im strikten Modus führt zu einem Fehler.

3. Objekt

Beim Betrieb des Objekts unter den folgenden Umständen wird ein Fehler gemeldet

  1. Zuweisung eines Werts zu einem schreibgeschützten Attribut meldet einen Fehler

  2. Die Verwendung von „Löschen“ für nicht konfigurierbare Eigenschaften meldet einen Fehler

  3. Das Hinzufügen von Eigenschaften für nicht- erweiterbare Objekte melden einen Fehler

  4. Bei der Verwendung von Objektliteralen müssen Eigenschaftsnamen eindeutig sein. Beispielsweise wird

var person={
  name:"1",
  name:"2"
}
Nach dem Login kopieren

im nicht-strikten Modus standardmäßig auf den zweiten Wert gesetzt, und im strikten Modus wird ein Fehler gemeldet.

4. Funktion

Der strenge Modus erfordert, dass Funktionsparameternamen eindeutig sein müssen.

function(n,n){
  // todo
}
Nach dem Login kopieren

Im nicht strengen Modus wird diese Funktionsdeklaration nicht gemeldet ein Fehler. Der Parametername kann nur auf den zweiten Parameter zugreifen, und auf den ersten Parameter muss über Argumente zugegriffen werden.

Argumente unterscheiden sich auch in den beiden Modi

Im nicht-strikten Modus wird die Änderung des Werts des benannten Parameters im Argumentobjekt widergespiegelt. Im strikten Modus werden die beiden Werte angezeigt ​​sind unabhängig.

Argumente.callee (referenziert die Funktion selbst) und arguments.caller (referenziert die aufrufende Funktion) wurden entfernt.

Im strikten Modus können Funktionsnamen keine js-reservierten Wörter verwenden

** Im strikten Modus können Funktionen nur auf der obersten Ebene des Skripts und innerhalb der Funktion deklariert werden Eine if-Anweisung führt zu einem Syntaxfehler. **

if(true){
  function(){
   // 严格模式下报错
}
}
Nach dem Login kopieren

5.this

Bei Verwendung der Funktion apply(), call() im nicht strikten Modus wird der übergebene Null- oder undefinierte Wert konvertiert zum globalen Objekt. Im strikten Modus ist dies einer Funktion immer der angegebene Wert, unabhängig davon, welcher Wert angegeben ist.

var a="1";
function test(){
 console.log(this.a)
}
test.call(null) 在非严格模式下会输出1,严格模式下this就指代的就是null,null没有a属性,就会报错。
Nach dem Login kopieren

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

So fügen Sie MP3-Audiodateien mit Vue hinzu

So laden Sie Bilder mit FileReader in der lokalen JS-Vorschau hoch Funktion

Wie lege ich die standardmäßig ausgewählte Option basierend auf dem Select-Tag fest?

Das obige ist der detaillierte Inhalt vonWelche Wissenspunkte erklären den strikten JS-Modus im Detail?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!