JS函数报错Uncaught ReferenceError: XX is not defined问题及解决
作者:MinggeQingchun
JS报错Uncaught ReferenceError: XX is not defined
在js开发中,很多人遇到类似问题,都找不到解决方法;
Uncaught ReferenceError: XX is not defined
这里主要有解决方法步骤
方法/步骤
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、还有一个原因就是在你引用js时,路径出错,不是你项目中正确的文件路径
3、还有一个原因是你的js中有某些值是不存在的
4、JS函数未定义(这种低级的相信大家都不会犯,但是不排除定义的函数和声明的函数名称不一致的情况,或者传入参数不一致)
5、将Javascript函数放在了body和head之外了
在 html 中写 javascript 函数的时候,通常有三种形式:
- (1)内部:Html网页的<body></body>中
- (2)内部:Html网页的<head></head>中
- (3)外部:外部JS文件里
(1)写在<body></body>中
当浏览器载入网页Body部分的时候,就执行其中的Javascript语句,执行之后输出的内容就显示在网页中
<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 defined错误,这类错误就要多检查传值错误,或者某些值不存在
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- Uncaught EvalError:Refused to evaluate a string as JavaScript解决
- JS报错Uncaught TypeError: XXX is not a function的解决方法
- js控制台报错Uncaught TypeError: Cannot read properties of undefined (reading ‘appendChild‘)的解决
- javascript函数报Uncaught ReferenceError: XXX is not defined
- JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
- JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
- JavaScript错误处理之分析 Uncaught(in promise) error的原因及解决方案