In short, the first one is correct and the second one isn't and will cause your page not to render properly.
The script
element is not allowed to be self-terminated. It must have an explicit closing tag. If it is omitted, the browser will believe that everything after it is still JavaScript and not process it properly.
See for yourself with this simple example. Here's the second approach of <script src="foo.js"/>
:
<!doctype html>
<html>
<head>
<script src="doesntmatter.js" />
<title>Hello</title>
</head>
<body>
<h1>Do you see me?</h1>
</body>
</html>
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…