Heim > Artikel > Web-Frontend > Welche Arten von JavaScript-Programmfehlern gibt es?
JavaScript-Programmfehlertypen sind unterteilt in: 1. Fehler; 3. RangeError (Referenzfehler);
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Fehlertypen in JavaScript
ECMA-262 definiert 7 Fehlertypen:
Error
EvalError
Range Fehler
ReferenceError
SyntaxError
TypeError
URIError
wobei Error der Basistyp (der übergeordnete Typ der anderen sechs Typen) ist und andere Typen davon erben. Der Fehlertyp ist selten und wird im Allgemeinen von Browsern verwendet. vom Browser ausgelöst. Dieser Basistyp wird hauptsächlich von Entwicklern verwendet, um benutzerdefinierte Fehler auszulösen.
1. SyntaxError (Syntaxfehler):
1.1 Der Variablenname entspricht nicht der Spezifikation
var 1 // Uncaught SyntaxError: Unexpected
number
var 1a // Uncaught SyntaxError: Invalid or unexpected token
1.2 Dem Schlüsselwort wird ein Wert zugewiesen
function = 5 // Uncaught SyntaxError: Unexpected token =
2 . Nicht erfasster ReferenceError ( Referenzfehler):
Ein Fehler tritt auf, wenn auf eine Variable verwiesen wird, die nicht existiert. Weisen Sie einem Objekt einen Wert zu, der nicht zugewiesen werden kann, z. B. das Ergebnis einer Funktion oder Funktionszuordnung. 2.1 Referenz auf eine nicht existierende Variable oder ist, wenn ein Objekt, das nur gültig ist, überschreitet. Während des Gültigkeitsbereichs ist ein Fehler aufgetreten. Es gibt mehrere Hauptsituationen. Die erste besteht darin, dass die Array-Länge eine negative Zahl ist. Der zweite Grund ist, dass die Methodenparameter des Number-Objekts außerhalb des zulässigen Bereichs liegen und der Funktionsstapel die maximale Größe überschreitet.
3.1 Die Array-Länge ist negativ.
a(); // Uncaught ReferenceError: a is not
defined
console.log(b); // Uncaught ReferenceError: b is not defined
3.2 Der Methodenparameter des Number-Objekts liegt außerhalb des gültigen Bereichs ist nicht vom erwarteten Typ. Wenn Sie beispielsweise eine neue Zeichenfolge, einen booleschen Wert oder andere primitive Typen verwenden, existiert das aufrufende Objekt nicht Die Methode löst diesen Fehler aus, da der Parameter des neuen Befehls ein Konstruktor sein sollte. ... die Zugehörige Funktionen sind falsch.
console.log("abc") = 1 // Uncaught ReferenceError: Invalid left-hand side in assignment
::: Tipp Erinnerung: Fehler werden ausgegeben, wenn URI-bezogene Parameter falsch sind, hauptsächlich bei encodeURI, decodeURI(), Sechs Funktionen: encodeURIComponent(), decodeURIComponent(), escape() und unescape(). :::
6. EvalError eval() (Funktionsausführungsfehler):Wenn in JavaScript unter ES5 die Funktion eval() nicht korrekt ausgeführt wird, wird ein evalError-Fehler ausgegeben. Zum Beispiel Die folgende Situation:
[].length = -5; // Uncaught RangeError: Invalid array length::: Warnung Nutzen Sie Try-Catch sinnvoll, wenn Sie wissen, dass irgendwo ein Fehler auftritt, der durch Ändern des Codes behoben werden kann. Die Verwendung von Try-Catch ist nicht geeignet. Oder es ist nicht für Fehler geeignet, die durch Kompatibilitätsfehler verschiedener Browser verursacht werden, da es anhand dessen beurteilt werden kann Der Browser kann feststellen, ob dieses Attribut und diese Methode in diesem Browser vorhanden sind, um das Problem zu lösen. :::
var num = new Number(12.34); console.log(num.toFixed(-1)); // Uncaught RangeError: toFixed() digits argument must be between 0 and 20 at Number.toFixed // 说明: toFixed方法的作用是将数字四舍五入为指定小数位数的数字,参数是小数点后的位数,范围为0 -20.
Der obige Code stellt eine Instanz eines neuen Fehlerobjekts dar. Das Wesentliche besteht darin, einen Fehler manuell auszulösen. Wie Sie sehen können, akzeptiert der Konstruktor des Fehlerobjekts a Ein Parameter, der die Fehlermeldung (Nachricht) darstellt.
Machen Sie sich mit diesen grundlegenden Fehlertypen vertraut und Sie können das Problem schnell lokalisieren und lösen, wenn ein Fehler auftritt.【Empfohlenes Lernen:
Javascript-Tutorial für FortgeschritteneDas obige ist der detaillierte Inhalt vonWelche Arten von JavaScript-Programmfehlern gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!