Apart from the script tag there is one other HTML tag that is directly relevant to JavaScript and that is the noscript tag. This is a block level HTML tag that can be placed around any content that you don’t want to appear in the page when the browser supports JavaScript.
This tag was extremely useful in the early days of JavaScript when JavaScript did not have the ability to update the content of a web page to any great extent. The tag is almost completely redundant now though since JavaScript itself now has the ability to update the actual content of the page to remove those parts not required when JavaScript is enabled in a much more effective way than can be done using the noscript tag.
Also we probably want to treat the really old browsers that support some JavaScript but which don’t support all of the standard code that we want to use as if those browsers don’t support JavaScript in many cases. Using a noscript tag will not allow us to make this distinction in the HTML and so if we need a JavaScript solution to distinguish levels of JavaScript support we may as well make all of the changes to the page from within JavaScript and not use the noscript tag at all.
The other disadvantage of the noscript tag is that being a block level tag there are only certain spots in the HTML that it can validly appear in any case and for much of the changes that you want between the JavaScript and non JavaScript versions of the page the tag will not be able to be placed everywhere you would have liked to have used it in any case.

