您的位置:首页 > Web前端 > JavaScript

javascript函数报Uncaught ReferenceError: XXX is not defined

2017-12-26 15:24 1521 查看
在写javascript函数的时候,JavaScript写在哪里?通常有三种形式:

1. 内部:Html网页的
<body></body>
中;

2. 内部:Html网页的
<head></head>
中;

外部:外部JS文件里。

(1) 写在
<body></body>


当浏览器载入网页Body部分的时候,就执行其中的Javascript语句,执行之后输出的内容就显示在网页中。

<html>
<head>...</head>
<body>
<script type="text/javascript">....</script>
</body>
</html>


(2)写在
<head></head>


当不希望一载入HTML就运行javascript时,而是通过触发事件,这使通常将Javascript放在HTML的里。

<html>
<head>
<script type="text/javascript">....</script>
</head>
<body>
...
</body>
</html>


(3)引入外部的js文件。

为什么会报错误函数未定义呢?可能有以下几种原因:

1 ) js中有某些值是不存在的

2 ) 引用js时,路径出错,不是你项目中正确的文件路径。

3)JS函数未定义。

4)将Javascript函数放在了body和head之外了。

5)Javascript函数定义在对象声明之前。你的代码是直接就能运行的话,要是代码所操作的对象在代码后面,有的,也就是引用的各个js的调用顺序有误

浏览器会返回错误.因为它们是按顺序加载对象。

6 ) 引用的标签的格式不对,如:

在html或者jsp页面中只能加
<script src=""></script>
,而不能
<script src="">


在xhtml中才可以直接用单标签
<script src="" />


7 ) 引入的jequery.jsp的版本过低,如:

<script type="text/javascript" src="<%=path %>/web/js/jquery.js"></script>
<script language="JavaScript" src="<%=p
a4fa
ath %>/web/js/jquery.min.js"></script>


8 ) 传植的时候没有带引号,如:

<a href="#" onclick="updateUserRole(${nt.username},${nt.sid})" class="tablelink">
<a href="#" onclick="updateUserRole('${nt.username}','${nt.sid}')" class="tablelink">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: