javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > JS报错Uncaught ReferenceError: XX is not defined

JS函数报错Uncaught ReferenceError: XX is not defined问题及解决

作者:MinggeQingchun

这篇文章主要介绍了JS函数报错Uncaught ReferenceError: XX is not defined问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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)写在<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错误,这类错误就要多检查传值错误,或者某些值不存在

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文