jsエラータイプ(6種類のエラータイプ)
6388 ワード
jsのコンソールのエラーメッセージは主に2つのクラスに分けられ、1つ目は構文エラーであり、このエラーは事前解析中に発生するとjsファイル全体が実行できなくなります.別のエラーは例外と呼ばれ、エラーが発生したローの後のコードは実行できませんが、そのローの前のコードは影響を受けません.
SyntaxError
ReferenceError私の理解:これは存在しない例:console.log(sb)
TypeError私の理解:でたらめな呼び出し例:var a;a() ;//誰がaが関数だと言った?
RangeError
EvalError
URIError
SyntaxError
// SyntaxError:
// 1)
var 1 // Uncaught SyntaxError: Unexpected number
var 1a // Uncaught SyntaxError: Invalid or unexpected token
// 2)
function = 5 // Uncaught SyntaxError: Unexpected token =
ReferenceError私の理解:これは存在しない例:console.log(sb)
// ReferenceError: ( )
// 1)
a() // Uncaught ReferenceError: a is not defined
console.log(b) // Uncaught ReferenceError: b is not defined
// 2)
console.log("abc") = 1 // Uncaught ReferenceError: Invalid left-hand side in assignment
TypeError私の理解:でたらめな呼び出し例:var a;a() ;//誰がaが関数だと言った?
// TypeError: ( )
// 。 new 、 , new 。
// 1)
123() // Uncaught TypeError: 123 is not a function
var o = {}
o.run() // Uncaught TypeError: o.run is not a function
// 2) new
var p = new 456 // Uncaught TypeError: 456 is not a constructor
RangeError
// RangeError: ( )
// , , Number , 。
// 1)
[].length = -5 // Uncaught RangeError: Invalid array length
// 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.
EvalError
// EvalError: eval()
// ES5 JavaScript , eval() , evalError 。 :
var myEval = eval;
myEval("alert('call eval')");
// :ES5 JavaScript , new 。 , Error , 。 , 。
new Error([message[fileName[lineNumber]]])
// , , 。
URIError
// URIError: URI
// 。
decodeURI("%") // Uncaught URIError: URI malformed at decodeURI
// jzz