Тег <script>

Тег <script> предназначен для описания скриптов, может содержать ссылку на программу или ее текст на определенном языке. Скрипты могут располагаться во внешнем файле и связываться с любым HTML-документом. Такой подход позволяет использовать одни и те же общие функции на многих веб-страницах и ускоряет их загрузку, т.к. внешний файл кэшируется при первой загрузке, и скрипт вызывается быстрее при последующих вызовах.

<script> может располагаться в заголовке или теле HTML-документа в неограниченном количестве. В большинстве случаев местоположение скрипта никак не сказывается на работу программы. Однако скрипты, которые должны выполняться в первую очередь, обычно помещают в заголовок документа.

поддержка браузерами:
IExplorer Chrome Opera Safari Firefox Android iOS
3.0+ 1.0+ 3.0+ 1.0+ 1.0+ 1.0+ 1.0+
спецификация:
HTML: 3.2 4.01 5.0
XHTML: 1.0 1.1
синтаксис:
<script type="тип">
  ...
</script> 
<script type="тип" src="URL"></script>
атрибуты:
async - При наличии атрибута async браузер при возможности запускает скрипт асинхронно.
defer - Атрибут defer откладывает выполнение скрипта до тех пор, пока вся страница не будет загружена полностью.
language - Атрибут language указывает язык написания скрипта.
src - Импортирует файл со скриптами из внешнего файла.
type - Указывает тип MIME для определенного языка.
закрывающий тег:
Обязателен
пример кода:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Тег SCRIPT</title>
 </head>
 <body> 
  <script type="text/javascript">
    document.write ('<table width="100%" border="1">');
    for (i=1; i<6; i++) {
      document.writeln("<tr>");
      for (j=1; j<6; j++) document.write("<td>" + i + j + "<\/td>");
      document.writeln("<\/tr>");
    }
    document.write ("<\/table> ");
  </script>
 </body>
</html>

В данном примере с помощью скрипта выводится таблица, состоящая из пяти строк и столбцов, которая заполняется числами.

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Тег SCRIPT</title>
  <script>
  function popup() {
   document.getElementById('welcome').innerHTML = 'Добро пожаловать!';
  }
  </script>
 </head>
 <body onload="popup()"> 
  <div id="welcome"></div>
 </body>
</html>
примечание:

В HTML5 атрибут type можно опустить, он является необязательным и принимает значение text/javascript, если не указан явно. В предыдущих версиях HTML атрибут type необходим.