Ð ÑÑой ÑаÑÑи ÑÑебника Ð¼Ñ Ð¸Ð·ÑÑаем ÑобÑÑвенно JavaScript, Ñам ÑзÑк.
Ðо нам нÑжна ÑабоÑÐ°Ñ ÑÑеда Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка наÑиÑ
ÑкÑипÑов, и, поÑколÑÐºÑ ÑÑо онлайн-книга, Ñо бÑаÑÐ·ÐµÑ Ð±ÑÐ´ÐµÑ Ñ
оÑоÑим вÑбоÑом. Ð ÑÑой главе Ð¼Ñ ÑокÑаÑим колиÑеÑÑво ÑпеÑиÑиÑнÑÑ
Ð´Ð»Ñ Ð±ÑаÑзеÑа команд (напÑимеÑ, alert) до минимÑма, ÑÑÐ¾Ð±Ñ Ð²Ñ Ð½Ðµ ÑÑаÑили на ниÑ
вÑемÑ, еÑли планиÑÑеÑе ÑоÑÑедоÑоÑиÑÑÑÑ Ð½Ð° дÑÑгой ÑÑеде (напÑимеÑ, Node.js). Рна иÑполÑзовании JavaScript в бÑаÑзеÑе Ð¼Ñ ÑоÑÑедоÑоÑимÑÑ Ð² ÑледÑÑÑей ÑаÑÑи ÑÑебника.
ÐÑак, ÑнаÑала давайÑе поÑмоÑÑим, как вÑполниÑÑ ÑкÑÐ¸Ð¿Ñ Ð½Ð° ÑÑÑаниÑе. ÐÐ»Ñ ÑеÑвеÑнÑÑ
ÑÑед (напÑимеÑ, Node.js), Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе вÑполниÑÑ ÑкÑÐ¸Ð¿Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ñипа "node my.js". ÐÐ»Ñ Ð±ÑаÑзеÑа вÑÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ инаÑе.
Тег «script»
ÐÑогÑÐ°Ð¼Ð¼Ñ Ð½Ð° JavaScript могÑÑ Ð±ÑÑÑ Ð²ÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² лÑбое меÑÑо HTML-докÑменÑа Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ñега <script>.
ÐÐ»Ñ Ð¿ÑимеÑа:
<!DOCTYPE HTML>
<html>
<body>
<p>ÐеÑед ÑкÑипÑом...</p>
<script>
alert( 'ÐÑивеÑ, миÑ!' );
</script>
<p>...ÐоÑле ÑкÑипÑа.</p>
</body>
</html>
ÐÑ Ð¼Ð¾Ð¶ÐµÑе запÑÑÑиÑÑ Ð¿ÑимеÑ, нажав на ÐºÐ½Ð¾Ð¿ÐºÑ Â«Play» в пÑавом веÑÑ Ð½ÐµÐ¼ ÑÐ³Ð»Ñ Ð±Ð»Ð¾ÐºÐ° Ñ ÐºÐ¾Ð´Ð¾Ð¼ вÑÑе.
Тег <script> ÑодеÑÐ¶Ð¸Ñ JavaScript-код, коÑоÑÑй авÑомаÑиÑеÑки вÑполниÑÑÑ, когда бÑаÑÐ·ÐµÑ ÐµÐ³Ð¾ обÑабоÑаеÑ.
СовÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ ÑазмеÑка
Тег <script> Ð¸Ð¼ÐµÐµÑ Ð½ÐµÑколÑко аÑÑибÑÑов, коÑоÑÑе Ñедко иÑполÑзÑÑÑÑÑ, но вÑÑ ÐµÑÑ Ð¼Ð¾Ð³ÑÑ Ð²ÑÑÑеÑиÑÑÑÑ Ð² ÑÑаÑом коде:
- ÐÑÑибÑÑ
type:<script type=â¦> -
СÑаÑÑй ÑÑандаÑÑ HTML, HTML4, ÑÑебовал налиÑÐ¸Ñ ÑÑого аÑÑибÑÑа в Ñеге
<script>. ÐбÑÑно он имел знаÑениеtype="text/javascript". Ðа ÑекÑÑий Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑÑого болÑÑе не ÑÑебÑеÑÑÑ. Ðолее Ñого, в ÑовÑеменном ÑÑандаÑÑе HTML ÑмÑÑл ÑÑого аÑÑибÑÑа полноÑÑÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»ÑÑ. ТепеÑÑ Ð¾Ð½ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ JavaScript-модÑлей. Ðо ÑÑо Ñема не Ð´Ð»Ñ Ð½Ð°ÑалÑного ÑÑовнÑ, и о ней Ð¼Ñ Ð¿Ð¾Ð³Ð¾Ð²Ð¾Ñим в дÑÑгой ÑаÑÑи ÑÑебника. - ÐÑÑибÑÑ
language:<script language=â¦> -
ÐÑÐ¾Ñ Ð°ÑÑибÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑл задаваÑÑ ÑзÑк, на коÑоÑом напиÑан ÑкÑипÑ. Ðо Ñак как JavaScript ÑвлÑеÑÑÑ ÑзÑком по ÑмолÑаниÑ, в ÑÑом аÑÑибÑÑе Ñже Ð½ÐµÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи.
- ÐбÑÑÑÑвание ÑкÑипÑа в HTML-комменÑаÑии.
-
РоÑÐµÐ½Ñ Ð´ÑÐµÐ²Ð½Ð¸Ñ ÐºÐ½Ð¸Ð³Ð°Ñ Ð¸ ÑÑководÑÑÐ²Ð°Ñ Ð²Ñ ÑможеÑе найÑи комменÑаÑии внÑÑÑи Ñега
<script>, напÑимеÑ, Ñакие:<script type="text/javascript"><!-- ... //--></script>ÐÑÐ¾Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½ÑаÑий ÑкÑÑвал код JavaScript в ÑÑаÑÑÑ Ð±ÑаÑзеÑÐ°Ñ , коÑоÑÑе не знали, как обÑабаÑÑваÑÑ Ñег
<script>. ÐоÑколÑÐºÑ Ð²Ñе бÑаÑзеÑÑ, вÑпÑÑеннÑе за поÑледние 15 леÑ, не ÑодеÑÐ¶Ð°Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ пÑоблемÑ, Ñакие комменÑаÑии Ñже не нÑжнÑ. ÐÑли они еÑÑÑ, Ñо ÑÑо пÑизнак, ÑÑо пеÑед нами оÑÐµÐ½Ñ Ð´Ñевний код.
ÐнеÑние ÑкÑипÑÑ
ÐÑли Ñ Ð²Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾ JavaScript-кода, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе помеÑÑиÑÑ ÐµÐ³Ð¾ в оÑделÑнÑй Ñайл.
Файл ÑкÑипÑа можно подклÑÑиÑÑ Ðº HTML Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð°ÑÑибÑÑа src:
<script src="/path/to/script.js"></script>
ÐдеÑÑ /path/to/script.js â ÑÑо абÑолÑÑнÑй пÑÑÑ Ð¾Ñ ÐºÐ¾Ñневой папки до необÑ
одимого Ñайла. ÐоÑневой папкой Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÐºÐ¾ÑÐµÐ½Ñ Ð´Ð¸Ñка или коÑÐµÐ½Ñ ÑайÑа, в завиÑимоÑÑи Ð¾Ñ ÑÑловий ÑабоÑÑ ÑайÑа. Также можно ÑказаÑÑ Ð¾ÑноÑиÑелÑнÑй пÑÑÑ Ð¾Ñ ÑекÑÑей ÑÑÑаниÑÑ. ÐапÑимеÑ, src="script.js" или src="./script.js" бÑÐ´ÐµÑ Ð¾Ð·Ð½Ð°ÑаÑÑ, ÑÑо Ñайл "script.js" наÑ
одиÑÑÑ Ð² ÑекÑÑей папке.
Ðожно ÑказаÑÑ Ð¸ полнÑй URL-адÑеÑ. ÐапÑимеÑ:
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.2.0/lodash.js"></script>
ÐÐ»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð½ÐµÑколÑÐºÐ¸Ñ ÑкÑипÑов иÑполÑзÑйÑе неÑколÑко Ñегов:
<script src="/js/script1.js"></script>
<script src="/js/script2.js"></script>
â¦
Ðак пÑавило, ÑолÑко пÑоÑÑейÑие ÑкÑипÑÑ Ð¿Ð¾Ð¼ÐµÑаÑÑÑÑ Ð² HTML. Ðолее ÑложнÑе вÑделÑÑÑÑÑ Ð² оÑделÑнÑе ÑайлÑ.
ÐолÑза оÑделÑнÑÑ Ñайлов в Ñом, ÑÑо бÑаÑÐ·ÐµÑ Ð·Ð°Ð³ÑÑÐ·Ð¸Ñ ÑкÑÐ¸Ð¿Ñ Ð¾ÑделÑно и ÑÐ¼Ð¾Ð¶ÐµÑ Ñ ÑаниÑÑ ÐµÐ³Ð¾ в кеÑе.
ÐÑÑгие ÑÑÑаниÑÑ, коÑоÑÑе подклÑÑаÑÑ ÑÐ¾Ñ Ð¶Ðµ ÑкÑипÑ, ÑмогÑÑ Ð±ÑаÑÑ ÐµÐ³Ð¾ из кеÑа вмеÑÑо повÑоÑной загÑÑзки из ÑеÑи. Ð Ñаким обÑазом Ñайл бÑÐ´ÐµÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ñ ÑеÑвеÑа ÑолÑко один Ñаз.
ÐÑо ÑокÑаÑÐ°ÐµÑ ÑаÑÑ Ð¾Ð´ ÑÑаÑика и ÑÑкоÑÑÐµÑ Ð·Ð°Ð³ÑÑÐ·ÐºÑ ÑÑÑаниÑ.
src ÑÑÑановлен, ÑодеÑжимое Ñега script бÑÐ´ÐµÑ Ð¸Ð³Ð½Ð¾ÑиÑоваÑÑÑÑ.Родном Ñеге <script> нелÑÐ·Ñ Ð¸ÑполÑзоваÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно аÑÑибÑÑ src и код внÑÑÑи.
ÐижепÑиведÑннÑй пÑÐ¸Ð¼ÐµÑ Ð½Ðµ ÑабоÑаеÑ:
<script src="file.js">
alert(1); // ÑодеÑжимое игноÑиÑÑеÑÑÑ, Ñак как еÑÑÑ Ð°ÑÑибÑÑ src
</script>
ÐÑжно вÑбÑаÑÑ: либо внеÑний ÑкÑÐ¸Ð¿Ñ <script src="â¦">, либо обÑÑнÑй код внÑÑÑи Ñега <script>.
ÐÑÑепÑиведÑннÑй пÑÐ¸Ð¼ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑазделиÑÑ Ð½Ð° два ÑкÑипÑа:
<script src="file.js"></script>
<script>
alert(1);
</script>
ÐÑого
- ÐÐ»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð° JavaScript на ÑÑÑаниÑÑ Ð¸ÑполÑзÑеÑÑÑ Ñег
<script> - ÐÑÑибÑÑÑ
typeиlanguageнеобÑзаÑелÑнÑ. - СкÑÐ¸Ð¿Ñ Ð²Ð¾ внеÑнем Ñайле можно вÑÑавиÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
<script src="path/to/script.js"></script>.
Ðам еÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ðµ пÑедÑÑÐ¾Ð¸Ñ Ð¸Ð·ÑÑиÑÑ Ð¿Ñо бÑаÑзеÑнÑе ÑкÑипÑÑ Ð¸ Ð¸Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑвие Ñо ÑÑÑаниÑей. Ðо, как Ñже бÑло Ñказано, ÑÑа ÑаÑÑÑ ÑÑебника поÑвÑÑена именно ÑзÑÐºÑ JavaScript, поÑÑÐ¾Ð¼Ñ Ð·Ð´ÐµÑÑ Ð¼Ñ Ð¿Ð¾ÑÑаÑаемÑÑ Ð½Ðµ оÑвлекаÑÑÑÑ Ð½Ð° деÑали ÑеализаÑии в бÑаÑзеÑе. ÐÑ Ð²Ð¾ÑполÑзÑемÑÑ Ð±ÑаÑзеÑом Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка JavaScript, ÑÑо Ñдобно Ð´Ð»Ñ Ð¾Ð½Ð»Ð°Ð¹Ð½-демонÑÑÑаÑий, но ÑÑо ÑолÑко одна из плаÑÑоÑм, на коÑоÑÑÑ ÑабоÑÐ°ÐµÑ ÑÑÐ¾Ñ ÑзÑк.
ÐомменÑаÑии
<code>, Ð´Ð»Ñ Ð½ÐµÑколÑÐºÐ¸Ñ ÑÑÑок кода — Ñег<pre>, еÑли болÑÑе 10 ÑÑÑок — ÑÑÑÐ»ÐºÑ Ð½Ð° пеÑоÑниÑÑ (plnkr, JSBin, codepenâ¦)