Cet article vous donne une introduction détaillée aux six types d'erreurs en JavaScript. Les amis qui en ont besoin peuvent s'y référer
Les étudiants qui viennent d'entrer dans la fosse frontale et qui ne sont pas très bons en anglais le sont. vous avez toujours du mal avec la console. Erreur en vous grattant la tête ? Aujourd'hui, je vais vous amener à jeter un œil aux types d'erreurs courants en JavaScript.
Le message d'erreur de la console dans js est principalement divisé en deux catégories. La première catégorie concerne les erreurs de syntaxe. Si ce type d'erreur est rencontré lors du processus de pré-analyse, cela entraînera l'intégralité du fichier js. échouer. Un autre type d'erreur est collectivement appelé exception. Ce type d'erreur empêchera le code après la ligne où l'erreur se produit de s'exécuter, mais le code avant cette ligne ne sera pas affecté.
1. SyntaxError : Erreur de syntaxe
// 1. Syntax Error: 语法错误 // 1.1 变量名不符合规范 var 1 // Uncaught SyntaxError: Unexpected number var 1a // Uncaught SyntaxError: Invalid or unexpected token // 1.2 给关键字赋值 function = 5 // Uncaught SyntaxError: Unexpected token =
2. Uncaught ReferenceError : Erreur de référence
Une erreur qui se produit lors du référencement d'une variable qui n'existe pas. Attribuez une valeur à un objet qui ne peut pas être attribué, comme le résultat d'une fonction ou une affectation de fonction.
// 2.1 引用了不存在的变量 a() // Uncaught ReferenceError: a is not defined console.log(b) // Uncaught ReferenceError: b is not defined // 2.2 给一个无法被赋值的对象赋值 console.log("abc") = 1 // Uncaught ReferenceError: Invalid left-hand side in assignment
3. RangeError : erreur de plage
RangeError se produit lorsqu'une erreur de plage se produit juste une erreur en dehors de la plage valide s'est produite. Il existe plusieurs situations principales. La première est que la longueur du tableau est un nombre négatif. La seconde est que les paramètres de méthode de l'objet Number sont hors limites et que la pile de fonctions dépasse la valeur maximale.
// 3.1 数组长度为负数 [].length = -5 // Uncaught RangeError: Invalid array length // 3.2 Number对象的方法参数超出范围 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.
4. TypeError
La variable ou le paramètre n'est pas du type attendu. une erreur s'est produite. Par exemple, l'utilisation de nouveaux types primitifs tels que des chaînes et des valeurs booléennes et l'appel de méthodes qui n'existent pas dans l'objet généreront cette erreur, car le paramètre de la nouvelle commande doit être un constructeur.
// 4.1 调用不存在的方法 123() // Uncaught TypeError: 123 is not a function var o = {} o.run() // Uncaught TypeError: o.run is not a function // 4.2 new关键字后接基本类型 var p = new 456 // Uncaught TypeError: 456 is not a constructor
5. URIError, erreur d'URL
Principalement en raison de paramètres incorrects des fonctions associées. .
decodeURI("%") // Uncaught URIError: URI malformed at decodeURI
Erreur générée lorsque les paramètres liés à l'URI sont incorrects, impliquant principalement encodeURI, decodeURI(), encodeURIComponent(), decodeURIComponent(), escape() et unescape() six fonctions.
6. EvalError Erreur d'exécution de la fonction eval()
En JavaScript inférieur à ES5, lorsque la fonction eval() n'est pas exécutée correctement, un evalError sera lancé.
Par exemple, la situation suivante :
var myEval = eval; myEval("alert('call eval')");
Il est à noter que cette erreur n'est plus générée en JavaScript au-dessus de ES5, mais elle peut toujours être Utilisez le nouveau mot-clé pour personnaliser ce type d'invite d'erreur.
Les 6 erreurs dérivées ci-dessus, ainsi que l'objet Error d'origine, sont toutes des constructeurs. Les développeurs peuvent les utiliser pour générer des instances d'objets d'erreur.
new Error([message[,fileName[,lineNumber]]]),
Le premier paramètre représente le message d'erreur, le deuxième est le nom du fichier et le troisième est le numéro de ligne.
Résumé
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!