Like Corey says, many web servers expect pages to end with a .shtml extension if they are to be parsed for server side includes. Assuming you've done that, I think it might also object to the spaces before the # and around the =. Try
[tt]
<!--#INCLUDE file="js/headerJS.html" -->
[/tt]
You can check whether it's working - view the page as served up by your web site & do a "View Source" - you should see the contents of headerJS.html instead of the INCLUDE statement.
For javascript, you're best off putting it in a seperate file and referencing it with a src= attribute as Corey did. That way the script can get cached by the browser instead of being downloaded each time. It doesn't confuse HTML validators so much either. You can still "include" the empty script tags as it makes it easy to change/add stuff en masse later on. In fact, I'd advise you to make all your pages look like this:
[tt]
<html>
<head>
<title>Page Title Here</title>
<!--#include file="/inc/head.txt" -->
</head>
<body>
<!--#include file="/inc/top.txt" -->
This is the main unique content of the page
<!--#include file="/inc/bottom.txt" -->
</body>
</html>
[/tt]
I use the three included file to put in whatever standard content is required in those places to provide menu bars, standard logos, meta tags, javascripts whatever. The basic document remains a syntactically valid HTML document, but with as little duplicated content as possible. You can change the whole look of the site with a little editing to one or more of the .txt files.
Finally, there's a load of information abou SSIs in faq253-3309 and faq253-2000 .
-- Chris Hunt