Les messages d'erreur dans la console en js sont principalement divisés 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, l'intégralité du fichier js ne sera pas exécuté. 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 est une erreur qui se produit lorsqu'une valeur est uniquement en dehors de la plage valide. 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. Erreur de type TypeError
Une erreur qui se produit lorsqu'une variable ou un paramètre n'est pas du type attendu. 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
est principalement due à des paramètres incorrects des fonctions associées.
decodeURI("%") // Uncaught URIError: URI malformed at decodeURI
Erreurs générées lorsque les paramètres liés à l'URI sont incorrects, impliquant principalement six fonctions : encodeURI, decodeURI(), encodeURIComponent(), decodeURIComponent(), escape() et unescape().
6. EvalError Erreur d'exécution de la fonction eval()
Dans JavaScript inférieur à ES5, lorsque la fonction eval() n'est pas exécutée correctement, une erreur evalError sera générée.
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 vous pouvez toujours personnaliser ce type via le nouveau mot-clé Error message.
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.
Recommandations associées :
Résumé des types d'erreurs courants JS
php Explication détaillée des types d'erreurs et des méthodes de protection
Types d'erreurs PHP courants et méthodes de protection
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!