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 エラーが発生する場合もあります。このようなエラーについては、値渡しエラーがないか確認するか、一部の値が存在しません。