ホームページ ウェブフロントエンド jsチュートリアル JavaScript で 6 つのエラー タイプを共有する

JavaScript で 6 つのエラー タイプを共有する

Feb 05, 2018 am 10:21 AM
javascript js 共有

js のコンソール エラー メッセージは主に 2 つのカテゴリに分類されます。最初のカテゴリは構文エラーです。このタイプのエラーが事前解析プロセス中に発生した場合、js ファイル全体が実行されません。別の種類のエラーは総称して例外と呼ばれます。この種類のエラーでは、エラーが発生した行以降のコードは実行できなくなりますが、その行より前のコードは影響を受けません。

1. SyntaxError: 構文エラー

1

2

3

4

5

6

// 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: 参照エラー

存在しない変数を参照したときに発生するエラー。関数や関数の代入の結果など、代入できないオブジェクトに値を代入します。

1

2

3

4

5

// 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: 範囲エラー

RangeError は、オブジェクトが有効範囲のすぐ外にある場合に発生するエラーです。主な状況はいくつかあります。1 つ目は、配列の長さが負の数であること、2 つ目は、Number オブジェクトのメソッド パラメーターが範囲外であり、関数スタックが最大値を超えていることです。

1

2

3

4

5

6

// 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 TypeError

変数またはパラメーターが予期された型ではない場合に発生するエラー。たとえば、文字列やブール値などの新しいプリミティブ型を使用し、オブジェクトに存在しないメソッドを呼び出すと、このエラーがスローされます。これは、新しいコマンドのパラメータがコンストラクターである必要があるためです。

1

2

3

4

5

6

// 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、URLエラー

主に関連関数のパラメータが間違っています。

1

decodeURI("%")     // Uncaught URIError: URI malformed at decodeURI

ログイン後にコピー

URI 関連のパラメーターが正しくない場合にスローされるエラー。主に、encodeURI、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()、unescape() の 6 つの関数が関係します。

6. EvalError eval()関数実行エラー

ES5以下のJavaScriptでは、eval()関数が正しく実行されなかった場合、evalErrorエラーがスローされます。

たとえば、次の状況:

1

2

var myEval = eval;

myEval("alert('call eval')");

ログイン後にコピー

このエラーは ES5 以降の JavaScript ではスローされなくなりましたが、新しいキーワードを使用してこのタイプのエラー プロンプトをカスタマイズできることに注意してください。

上記の 6 つの派生エラーは、元の Error オブジェクトとともに、すべてコンストラクターです。開発者はこれらを使用してエラー オブジェクトのインスタンスを生成できます。

1

new Error([message[,fileName[,lineNumber]]]),

ログイン後にコピー

最初のパラメータはエラー メッセージを表し、2 番目はファイル名、3 番目は行番号です。

関連する推奨事項:

JS 一般的なエラー タイプの概要

php 詳細なエラー タイプとシールド方法

php 一般的なエラー タイプとシールド方法

以上がJavaScript で 6 つのエラー タイプを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Quark NetdiskをBaidu Netdiskに共有するにはどうすればよいですか? Quark NetdiskをBaidu Netdiskに共有するにはどうすればよいですか? Mar 14, 2024 pm 04:40 PM

Quark NetdiskをBaidu Netdiskに共有するにはどうすればよいですか?

NetEase Cloud Music を WeChat Moments に共有する方法_NetEase Cloud Music を WeChat Moments に共有するチュートリアル NetEase Cloud Music を WeChat Moments に共有する方法_NetEase Cloud Music を WeChat Moments に共有するチュートリアル Mar 25, 2024 am 11:41 AM

NetEase Cloud Music を WeChat Moments に共有する方法_NetEase Cloud Music を WeChat Moments に共有するチュートリアル

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト 推奨: 優れた JS オープンソースの顔検出および認識プロジェクト Apr 03, 2024 am 11:55 AM

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト

Baidu Netdisk で友達とファイルを共有する方法 Baidu Netdisk で友達とファイルを共有する方法 Mar 25, 2024 pm 06:52 PM

Baidu Netdisk で友達とファイルを共有する方法

Mango TV メンバーのアカウント共有 2023 Mango TV メンバーのアカウント共有 2023 Feb 07, 2024 pm 02:27 PM

Mango TV メンバーのアカウント共有 2023

PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする Dec 18, 2023 pm 03:39 PM

PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする

HP プリンター ドライバーの 2 つのインストール方法を共有する HP プリンター ドライバーの 2 つのインストール方法を共有する Mar 13, 2024 pm 05:16 PM

HP プリンター ドライバーの 2 つのインストール方法を共有する

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法

See all articles