Heim >Web-Frontend >js-Tutorial >So verwenden Sie den strikten JS-Modus

So verwenden Sie den strikten JS-Modus

php中世界最好的语言
php中世界最好的语言Original
2018-04-12 16:19:302091Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie den strikten JS-Modus verwenden und welche Vorsichtsmaßnahmen für die Verwendung des strikten JS-Modus gelten. Hier sind praktische Fälle, werfen wir einen Blick darauf .

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

Wenn diese Eingabeaufforderung im globalen Bereich erfolgt, befindet sich das gesamte Skript im strikten Modus. Sie können den strikten Modus auch nur in Funktionen

aktivieren 1. Im strikten Modus gibt es keine globalen Variablen

a="test"

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

2. Variablen löschen

Es gibt drei Deklarationssituationen für var

  • Von var deklarierte globale Variablen

  • Von var deklarierte lokale Variablen

  • In eval() deklarierte globale Variablen

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

Obwohl das im ersten Fall deklarierte globale Objekt eine Eigenschaft von Windows ist, hat diese Eigenschaft zunächst den Wert configurable=false und kann daher nicht gelöscht werden

Im zweiten Fall sind lokale Variablen noch schlimmer. Sie wissen nicht einmal, wer das angehängte Objekt ist Der dritte Fall eval() wird später besprochen.

Zurück zum Thema. Mit anderen Worten: Im nicht strikten Modus können Sie Variablen löschen, dies schlägt jedoch fehl und gibt „false“ zurück.

Beim Löschen von Variablen im strikten Modus wird ein Fehler gemeldet.

3. Objekt

Das Operationsobjekt meldet unter den folgenden Umständen einen Fehler

    Beim Zuweisen von Werten zu schreibgeschützten Eigenschaften wird ein Fehler gemeldet.
  1. Die Verwendung von „Löschen“ für nicht konfigurierbare Eigenschaften führt zu einem Fehler.
  2. Das Hinzufügen von Eigenschaften zu nicht konfigurierbaren Eigenschaften wird gemeldet. erweiterbare Objekte melden einen Fehler
  3. Bei der Verwendung von Objektliteralen müssen Eigenschaftsnamen eindeutig sein. Zum Beispiel
Im nicht-strikten Modus wird standardmäßig der zweite Wert verwendet und im strikten Modus wird ein Fehler gemeldet.
var person={
  name:"1",
  name:"2"
}

4. Funktion

Der strikte Modus erfordert, dass der

Funktionsparameter

Name eindeutig sein muss

Im nicht strikten Modus meldet diese Funktionsdeklaration keinen Fehler. Nur auf den zweiten Parameter kann über den Parameternamen zugegriffen werden, und auf den ersten Parameter muss über Argumente zugegriffen werden.
function(n,n){
  // todo
}

Auch die Argumente unterscheiden sich in den beiden Modi

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

Arguments.callee (referenziert die Funktion selbst) und arguments.caller (referenziert die aufrufende Funktion) werden eliminiert.

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. Das Deklarieren einer Funktion in einer if-Anweisung führt zu einem Syntaxfehler . **

if(true){
  function(){
   // 严格模式下报错
}
}
5.dieses

Im nicht strikten Modus verwendet

apply() und call() der Funktion

und der übergebene Null- oder undefinierte Wert wird in ein globales Objekt konvertiert. Im strikten Modus ist das This einer Funktion immer der angegebene Wert, unabhängig davon, welcher Wert angegeben wird.

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

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Inhalte finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

vue globale Registrierung und lokal Detaillierte Anleitung zur Anmeldung

Wie readline Inhalte Zeile für Zeile liest und schreibt

Das obige ist der detaillierte Inhalt vonSo verwenden Sie den strikten JS-Modus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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