ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript プログラミングで発生するエラーにはどのような種類がありますか?エラーの種類の概要

JavaScript プログラミングで発生するエラーにはどのような種類がありますか?エラーの種類の概要

青灯夜游
青灯夜游オリジナル
2018-11-10 10:34:494529ブラウズ

JavaScript プログラミングで発生するエラーにはどのような種類がありますか?この記事では、JavaScript プログラミングで発生する一般的なタイプのエラーをいくつか紹介します。困っている友人は参考にしていただければ幸いです。 [関連ビデオチュートリアルの推奨事項: JavaScript チュートリアル ]

JavaScript プログラミングには、構文エラー、実行時エラー、論理エラーという 3 つの主なタイプのエラーがあります。

コンパイル中にどのような JavaScript エラーが見つかるか見てみましょう。

1. 構文エラー

構文エラーは、JavaScript の解析時にコンパイル中および従来のプログラミング言語のコンパイル中に発生します。 。

例 1、次の行では、右括弧が欠落しているため、構文エラーが発生します。

<script type="text/javascript">

   //  window.print(;

</script>

例 2:

123consloe.log(123)   // 未捕获的语法错误:意外标识符
console.123)          // 未捕获的语法错误: 出乎意料的数字

JavaScript で構文エラーが発生すると、構文エラーと同じスレッドに含まれるコードのみが影響を受け、他のスレッドの残りのコードは影響を受けます。いずれもエラーを含むコードに依存しないと仮定して、実行されます。

2. 実行時エラー

実行時エラー (例外とも呼ばれます) は、JavaScript の実行中 (コンパイル/説明後のエラー) に発生します。

1. ReferenceError (ReferenceError)

ReferenceError: 存在しないオブジェクトに値を割り当てると、エラーが発生します。 as 関数の実行または関数の代入の結果として発生するエラー。

たとえば、次の状況:

//  引用了不存在的变量 
a()       // 未定义引用错误:a 未定义
console.log(b)     // 未引用引用错误:b未定义
//  给一个无法被赋值的对象赋值 
console.log("abc") = 1   // 未引用引用错误:左侧赋值无效

2. 範囲エラー (RangeError)

RangeError: 有効な範囲が指定されていない場合に発生するエラーです。を超えています。主に以下のような場合があります。

1) 配列の長さが負の数の場合、エラーが発生します。

2) Number オブジェクトのメソッドのパラメータが範囲を超える場合、エラーが発生します。

3) 関数スタックが最大値を超えるとエラーが発生します。

たとえば、次のような状況です。

// 数组长度为负数 
[].length = -5      // 范围错误:无效的数组长度
// Number对象的方法参数超出范围 
var num = new Number(12.34) 
console.log(num.toFixed(-1))   // 范围错误: 在Number.toFixed中,toFixEd()的数字参数必须在0到20之间。
// 说明: toFixed方法的作用是将数字四舍五入为指定小数位数的数字,参数是小数点后的位数,范围为0-20.

3. 型エラー (TypeError)

TypeError: 変数またはパラメータが指定されたときに発生するエラー。予期されたタイプではありません。

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

//  调用不存在的方法 
123()        // 类型错误: 123不是一个函数
var o = {} o.run()    // 类型错误: o.run 不是一个函数
// new关键字后接基本类型 
var p = new 456      // 类型错误: 456 不是构造函数

4. URIError: URL 関連関数の間違った使用

URIError: 主に URL 関連関数のパラメータが間違っていることが原因です。

たとえば、次の状況:

decodeURI("%1")     // URIError: 在解码过程中变形了的URI

URI 関連のパラメータが正しくない場合にスローされるエラーには、主に次の 6 つの関数が関係します:

encodeURI、decodeURI()、encodeURIComponent ()、decodeURIComponent()、escape()、および unescape()

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

EvalError: ES5 以下の JavaScript の場合eval() 関数が正しく実行されない場合、evalError エラーがスローされます。

たとえば、次の状況:

var myEval = eval; myEval("alert(&#39;call eval&#39;)");

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

3. 論理エラー

論理エラーは、追跡するのが最も難しい種類のエラーです。これらのエラーは、構文エラーや実行時エラーの結果ではありません。むしろ、スクリプトを駆動するロジックに誤りがあり、期待した結果が得られない場合に発生します。

要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。

以上がJavaScript プログラミングで発生するエラーにはどのような種類がありますか?エラーの種類の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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