Uncaught ReferenceError:xxx未定义问题

本文探讨了在JavaScript中遇到的UncaughtReferenceError:xxxisnotdefined错误,并详细解析了一个特殊案例,即函数定义与调用之间的常见问题及解决办法。通过调整JS文件的引入方式,确保了函数能够被正确识别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个Uncaught ReferenceError:xxx未定义问题应该是在日常的编码过程中最常见的问题了。引起这个问题的原因主要有以下几大方面:
1.引用的各个js的调用顺序有误,重新调整其引用顺序。比如jquery引入应该在使用它之前。
2.引用js时,路径出错,不是你项目中正确的文件路径。
3.js中有某些值是不存在的。遇到类似的Uncaught ReferenceError: xxx is not defined错误,这类错误就要多检查传值错误,或者某些值不存在。
但是今天我遇到了一个错误,解决的办法也令人很惊奇。
问题描述:在script中定义了一个函数,然后调用,但是结果是这个函数未定义。在这个页面中jQuery是正常引入的:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>博客类别管理页面</title>
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/themes/icon.css">
    <script src="${pageContext.request.contextPath}/static/bootstrap3/js/jquery-3.4.1.min.js"></script>
    <script  src="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/jquery.easyui.min.js"/>
    <script  src="${pageContext.request.contextPath}/static/jquery-easyui-1.3.3/locale/easyui-lang-zh_CN.js"/>
    <script type="text/javascript">
        function openBlogTypeAddDialog() {
            $("#dlg").dialog("open").dialog("setTitle","添加博客类别信息");
            url="${pageContext.request.contextPath}/admin.blogType/save.do";
        }
    </script>

</head>

这是整个head的代码,然后接下来是调用这个函数的代码:

<div id="tb">
    <a href="javascript:openBlogTypeAddDialog()" class="easyui-linkbutton" iconCls="icon-add" plain="true">添加</a>
</div>

在运行之后出现的错误:
在这里插入图片描述
但是事实上我已经定义了这个函数,而且jQuery也是正常引入的。在一次的调试中中无意地点击了head的调试代码。突然发现了问题:
在这里插入图片描述
为什么这个js文件的引入会和我JavaScript的脚本闭合标签连在了一起?回想起之前有一次百度js文件引入错误的原因,有一条就是必须使用:

<script></script>    //正确
</script>                 //错误

于是,我把这些js的结束标签都打上,不使用/结尾,问题果然得到了解决!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值