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

猜你喜欢

转载自blog.csdn.net/MinggeQingchun/article/details/118712689#comments_27863566