It sort of depends on the behavior of the JavaScript.
From here:
Where to Put the JavaScript
JavaScripts in a page will be executed
immediately while the page loads into
the browser. This is not always what
we want. Sometimes we want to execute
a script when a page loads, other
times when a user triggers an event.
Scripts in the head section: Scripts
to be executed when they are called,
or when an event is triggered, go in
the head section. When you place a
script in the head section, you will
ensure that the script is loaded
before anyone uses it.
<html>
<head>
<script type="text/javascript">
....
</script>
</head>
Scripts in the body section: Scripts
to be executed when the page loads go
in the body section. When you place a
script in the body section it
generates the content of the page.
<html>
<head>
</head>
<body>
<script type="text/javascript">
....
</script>
</body>
Scripts in both the body and the head
section: You can place an unlimited
number of scripts in your document, so
you can have scripts in both the body
and the head section.
<html>
<head>
<script type="text/javascript">
....
</script>
</head>
<body>
<script type="text/javascript">
....
</script>
</body>
Using an External JavaScript
Sometimes you might want to run the
same JavaScript on several pages,
without having to write the same
script on every page.
To simplify this, you can write a
JavaScript in an external file. Save
the external JavaScript file with a
.js file extension.
Note: The external script cannot
contain the tag!
To use the external script, point to
the .js file in the "src" attribute of
the tag:
<html>
<head>
<script src="xxx.js"></script>
</head>
<body>
</body>
</html>
Note: Remember to place the script
exactly where you normally would write
the script!