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!