因为页面中只是把JS文件的路径导入进来,
写在页面的body内,只是在写程序的时候可以方便的查找到要使用的方法(根据JS文件名)
如果使用window.onload函数,将js代码放在其中,则放在哪里都是一样的,因为都是在body加载完再执行的
如果不使用window.onload函数,放在head中的话,代码不会被执行,这是因为html执行顺序,确切的说是js的执行顺序
HTML从上运行到<script type="text/html" src="test.js"></script>的时候进入test.js文件。前面的不会运行,也就是被function包起来的不会被运行,这个时候就执行最后一句。去页面中取元素。但是这个时候,HTML页面并没有加载完。所以找不到元素,就会报错。
代码:
<html><head>
<title> New Document </title>
<meta http-equiv="content-type" content="text/htmlcharset=utf-8">
<script type="text/javascript" src="test.js"></script>
</head>
<body>
<div id="target">
</div>
<button id="btn">按钮</button>
</body>
</html>
test.js代码:
var test = function(){var span = document.createElement("span")
span.innerHTML="添加"
document.getElementById("target").appendChild(span)
}
document.getElementById("btn").onclick=test
JavaScript一般都可以将不同的function放入同一个JavaScript文件中,只是再放入过程中不要把<script language="javascript"> </script>也加进去。这句话是指在HTML页面识别JS代码的标签,在JS文件中不用加标签。
JavaScript一般都可以将不同的function放入同一个JavaScript文件中,但是会有一些个例会导致运行不起来,如下就是运行不起来的大致原因:
在JavaScript文件中加入了在HTML页面中加载的标签:<script language="javascript"> </script>。需要将标签取消之后才可以用之中的JS内容。
在JavaScript文件中拥有重名的function内容,这样的话JS就无法分辨客户端调用的是哪一个了。
在JavaScript文件中同样会有JQuery代码,这样的话客户端就会先加载JQuery,后加载JS,导致JS运行出错。