en.javascript.info/1-js/1-getting-started/2-pre-coding/article.md
2015-02-13 12:33:34 +03:00

10 KiB
Raw Blame History

Справочники и спецификации

В этом разделе мы познакомимся со справочниками и спецификациями.

Если вы только начинаете изучение, то вряд ли они будут нужны прямо сейчас. Тем не менее, эта глава находится в начале, так как предсказать точный момент, когда вы захотите заглянуть в справочник -- невозможно, но точно известно, что этот момент настанет.

Поэтому рекомендуется кратко взглянуть на неё и взять на заметку, чтобы при необходимости вернуться в будущем.

[cut]

Справочники, и как в них искать

Самая полная и подробная информация по JavaScript и браузерам есть в справочниках.

Её объём таков, что перевести все с английского невозможно. Даже сделать "единый полный справочник" не получается, так как изменений много и они постоянно происходят.

Тем не менее, жить вполне можно если знать, куда смотреть.

Есть три основных справочника по JavaScript на английском языке:

  1. [Mozilla Developer Network](https://developer.mozilla.org/) -- содержит информацию, верную для основных браузеров. Также там присутствуют расширения только для Firefox, они помечены.

    Когда мне нужно быстро найти "стандартную" информацию по RegExp - ввожу в Google "RegExp MDN", и ключевое слово "MDN" (Mozilla Developer Network) приводит к информации из этого справочника.

  2. [MSDN](http://msdn.microsoft.com) -- справочник от Microsoft. Там много информации, в том числе и по JavaScript (они называют его "JScript"). Если нужно что-то, специфичное для IE -- лучше лезть сразу туда.

    Например, для информации об особенностях RegExp в IE -- полезное сочетание: "RegExp msdn". Иногда к поисковой фразе лучше добавить термин "JScript": "RegExp msdn jscript".

  3. [Safari Developer Library](https://developer.apple.com/library/safari/navigation/index.html) -- менее известен и используется реже, но в нём тоже можно найти ценную информацию.

Есть ещё справочники, не от разработчиков браузеров, но тоже хорошие:

  1. [http://help.dottoro.com]() -- содержит подробную информацию по HTML/CSS/JavaScript.
  2. [http://javascript.ru/manual]() -- справочник по JavaScript на русском языке, он содержит основную информацию по языку, без функций для работы с документом. К нему можно обращаться и по адресу, если знаете, что искать. Например, так: [http://javascript.ru/RegExp]().
  3. [http://www.quirksmode.org]() -- информация о браузерных несовместимостях. Этот ресурс сам по себе довольно старый и, в первую очередь, полезен для поддержки устаревших браузеров. Для поиска можно пользоваться комбинацией **"quirksmode onkeypress"** в Google.
  4. [http://caniuse.com]() -- ресурс о поддержке браузерами новейших возможностях HTML/CSS/JavaScript. Например, для поддержки функций криптографии: [http://caniuse.com/#feat=cryptography]().

Спецификации

Спецификация -- это самый главный, определяющий документ, в котором написано, как себя ведёт JavaScript, браузер, CSS и т.п.

Если что-то непонятно, и справочник не даёт ответ, то спецификация, как правило, раскрывает тему гораздо глубже и позволяет расставить точки над i.

Спецификация ECMAScript

Спецификация (формальное описание синтаксиса, базовых объектов и алгоритмов) языка Javascript называется ECMAScript.

Ее перевод есть на сайте в разделе стандарт языка.

[smart header="Почему не просто "JavaScript" ?"] Вы можете спросить: "Почему спецификация для JavaScript не называется просто "JavaScript", зачем существует какое-то отдельное название?"

Всё потому, что JavaScript™ -- зарегистрированная торговая марка, принадлежащая корпорации Oracle.

Название "ECMAScript" было выбрано, чтобы сохранить спецификацию независимой от владельцев торговой марки. [/smart]

Спецификация может рассказать многое о том, как работает язык, и является самым фундаментальным, доверенным источником информации.

Спецификации HTML/DOM/CSS

JavaScript -- язык общего назначения, поэтому в спецификации ECMAScript нет ни слова о браузерах.

Главная организация, которая занимается HTML, CSS, XML и множеством других стандартов -- Консорциум Всемирной паутины (World Wide Consortium, сокращённо W3C).

Информацию о них можно найти на сайте w3.org. К сожалению, найти в этой куче то, что нужно, может быть нелегко, особенно когда неизвестно в каком именно стандарте искать. Самый лучший способ -- попросить Google с указанием сайта.

Например, для поиска document.cookie набрать document.cookie site:w3.org.

Последние версии стандартов расположены на домене dev.w3.org.

Кроме того, в том, что касается HTML5 и DOM/CSS, W3C активно использует наработки другой организации: WhatWG, поэтому самые актуальные версии спецификаций по этим темам обычно находятся на https://whatwg.org/specs/.

Иногда бывает так, что информация на сайте http://dev.w3.org отличается от http://whatwg.org. В этом случае, как правило, следует руководствоваться http://whatwg.org.

Итого

Итак, посмотрим какие у нас есть источники информации.

Справочники:

  • Mozilla Developer Network -- информация для Firefox и большинства браузеров. Google-комбо: `"RegExp MDN"`, ключевое слово "MDN".
  • MSDN -- информация по IE. Google-комбо: `"RegExp msdn"`. Иногда лучше добавить термин "JScript": `"RegExp msdn jscript"`.
  • [Safari Developer Library](https://developer.apple.com/library/safari/navigation/index.html) -- информация по Safari.
  • http://help.dottoro.com -- подробная информация по HTML/CSS/JavaScript с учетом браузерной совместимости. Google-комбо: `"RegExp dottoro"`.
  • [](http://javascript.ru/manual) -- справочник по JavaScript на русском языке. К нему можно обращаться и по адресу, если знаете, что искать. Например, так: [](http://javascript.ru/RegExp). Google-комбо: `"RegExp site:javascript.ru"`.

Спецификации содержат важнейшую информацию о том, как оно "должно работать":

То, как оно на самом деле работает и несовместимости:

Поддержка современных и новейших возможностей браузерами: