JavaScript 関数が Uncaught ReferenceError を報告します: XX が定義されていません

JS 開発では、多くの人が同様の問題に遭遇し、解決策を見つけることができません。

キャッチされない参照エラー: XX が定義されていません

主な解決手順は次のとおりです

方法/ステップ

1. このエラーが発生する場合は、参照先のjsの呼び出し順序が間違っていることが考えられますので、参照順序を再調整して解決できるか確認してください。

理由は、jquery.js を導入する順序が間違っており、jquery.js を他の js より先に配置する必要があるためです。

 <script src="__ADMIN__/js/jquery.js" language="JavaScript" type="text/javascript"></script>
 <script src="__ADMIN__/js/bilibili.js" language="JavaScript" type="text/javascript"></script>

2. もう 1 つの理由は、js を参照するときに、プロジェクト内の正しいファイル パスではなく、パスが間違っていることです。

3.もう1つの理由は、js内の一部の値が存在しないことです

4. JS 関数が定義されていません (この種の低レベルは誰もコミットしないと思いますが、定義された関数と宣言された関数名が矛盾しているか、受信パラメータが矛盾している可能性は排除されません)

5. Javascript関数をbodyとheadの外に置く

HTML で JavaScript 関数を記述する場合、通常は次の 3 つの形式があります。

(1) 内部: HTML Web ページの <body></body> 内

(2) 内部: HTML Web ページの <head></head> 内

(3) 外部: 外部 JS ファイル内

(1) <body></body> で記述

ブラウザがWebページのBody部分を読み込むと、その中のJavaScript文が実行され、実行後の出力内容がWebページに表示されます。

<html>
    <head>...</head>
    <body>
        <script type="text/javascript">....</script>
    </body>
</html>

(2) <head></head>に記述する

HTML が読み込まれてすぐに JavaScript を実行したくないが、イベントをトリガーすることで、JavaScript は通常 HTML の <head></head> に配置されます。

<html>
    <head>
        <script type="text/javascript">....</script>
    </head>
    <body>
        ...
    </body>
</html>

6. Javascript 関数はオブジェクト宣言の前に定義されます。コードが直接実行できる場合、コードによって操作されるオブジェクトがコードの背後にある場合、一部のブラウザはエラーを返します。オブジェクトは順番に読み込まれるためです。

以下のように: タグ defer 属性の誤った使用

<script src="__ADMIN__/js/jquery.js" type="text/javascript" defer="defer"></script>

公式の説明を参照してください

defer 属性规定是否对脚本执行进行延迟,直到页面加载为止。

defer 属性により目的の効果が遅れたため、エラーが発生しました

7. 上記の特定のエラーに加えて、同様の Uncaught ReferenceError: XXXX is not generated エラーが発生する場合もあります。このようなエラーについては、値渡しエラーがないか確認するか、一部の値が存在しません。

おすすめ

転載: blog.csdn.net/MinggeQingchun/article/details/118712689#comments_27863566