Rumah > Artikel > hujung hadapan web > Apakah jenis ralat program JavaScript?
Jenis ralat program JavaScript dibahagikan kepada: 1. Ralat; 3. Ralat Rujukan; 5. Ralat Sintaks;
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.
Jenis ralat dalam JavaScript
ECMA-262 mentakrifkan 7 jenis ralat:
Ralat
EvalError
Ralat Julat
ReferenceError
SyntaxError
TypeError
URIError >
1. SyntaxError:
1.1 Nama pembolehubah tidak mematuhi spesifikasivar 1 // Uncaught SyntaxError: Unexpected
number
var 1a // Uncaught SyntaxError: Invalid or unexpected token
function = 5 // Uncaught SyntaxError: Unexpected token =
2. Ralat Rujukan Tidak Ditangkap:
Ralat. berlaku apabila merujuk pembolehubah yang tidak wujud. Berikan nilai kepada objek yang tidak boleh diberikan, seperti hasil fungsi atau Tugasan fungsi.2.1 Rujukan kepada pembolehubah tidak wujud
a(); // Uncaught ReferenceError: a is not
defined
console.log(b); // Uncaught ReferenceError: b is not defined
console.log("abc") = 1 // Uncaught
ReferenceError: Invalid left-hand side in assignment
3. RangeError:
RangeError ialah ralat yang berlaku apabila nilai berada di luar julat yang sah. Terdapat beberapa situasi utama yang pertama ialah panjang tatasusunan ialah nombor negatif. Yang kedua ialah parameter kaedah objek Nombor berada di luar julat, dan timbunan fungsi melebihi saiz maksimum.3.1 Panjang tatasusunan ialah nombor negatif
[].length = -5; // Uncaught RangeError: Invalid
array length
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:
Ralat yang berlaku apabila pembolehubah atau parameter bukan daripada jenis yang dijangkakan. Contohnya, menggunakan rentetan baharu, Boolean dan jenis primitif lain dan objek panggilan tidak wujud kaedah akan membuang ralat ini kerana parameter arahan baru harus menjadi pembina.4.1 Memanggil kaedah yang tidak wujud
123(); // Uncaught TypeError: 123 is not a
function
var o = {};
o.run(); // Uncaught TypeError: o.run is not a function
var p = new 456(); // Uncaught TypeError: 456
is not a constructor
5. URIError (URL error):
Terutamanya parameter fungsi yang berkaitan adalah tidak betul.decodeURI("%"); // Uncaught URIError:
URI malformed at decodeURI
6 EvalError eval() (ralat pelaksanaan fungsi):
Dalam JavaScript di bawah ES5, apabila eval() Apabila a. fungsi tidak dilaksanakan dengan betul, evalError dilemparkan. Contohnya Situasi berikut:var myEval = eval;
myEval("alert('call eval')");
需要注意的是:ES5以上的JavaScript中已经不再抛出该错误,但依然可以通过new关键字来自定义该类型
的错误提示。
new Error("出错了!");
new RangeError("出错了,变量超出有效范围!");
new TypeError("出错了,变量类型无效!");
Biasa dengan jenis ralat asas ini dan anda boleh mencari dan menyelesaikan masalah dengan cepat apabila ralat berlaku.
[Pembelajaran yang disyorkan:tutorial lanjutan javascript]
Atas ialah kandungan terperinci Apakah jenis ralat program JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!