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

html/jsp页面javascript代码加载顺序问题

2018-01-25 16:36 501 查看
一、说明
1、javascript主要分为内部js和外部js,内部js直接写在页面内,外部js需要引入到当前页面内。
2、不管是内部js还是外部js,都可以写在<body></body>或<head></head>标签中,写在不同标签中会影响js的加载顺序。
3、两种js,如:
//a.内部js
<script type="text/javascript">...</script>
//b.外部js
<script src="${pageContext.request.contextPath}/js/jquery-1.11.3.min.js"></script>
二、加载顺序(具体说明)
1、写在<head></head>标签内
html加载时,还不会去加载js的代码。需要触发事件的时候,才去加载js代码。
<html>
<head>
<script type="text/javascript">....</script>
</head>
<body>
...
</body>
</html>
2、写在<body></body>标签内
html一运行,就会去加载js的代码。
<html>
<head>...</head>
<body>
<script type="text/javascript">....</script>
</body>
</html>
PS:对于引入外部js而言,总是会发生以下类似报错提示
提示a:Uncaught ReferenceError: keyLogin() is not defined

提示2:Uncaught ReferenceError: $ is not defined
    at loginout.action:16

以上错误提示,集中几种主要原因如下:
1、js函数未定义或定义的函数名跟声明的函数名不一致或传入参数不一致,如上面提示a所示,keyLogin()未定义。
2、js函数写到body、head这两个标签的外面了。(有这样写过的请举手)
3、js函数定义在对象声明之前。js代码直接运行时,代码中操作到的对象写在js代码的后面了。可能会报错,因为不同浏览器可能会根据顺序加载对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: