Введение. Справочники и спецификации.
В этом разделе мы познакомимся со справочниками и спецификациями.
Если вы только начинаете изучение, то вряд ли они будут нужны прямо сейчас. Тем не менее, эта глава находится в начале, так как предсказать точный момент, когда вы захотите заглянуть в справочник - невозможно, но точно известно, что этот момент настанет.
Поэтому рекомендуется кратко взглянуть на них и взять на заметку, чтобы при необходимости вернуться к ним в будущем.
Самая полная и подробная информация по JavaScript и браузерам есть в справочниках.
Её объём таков, что перевести всё с английского невозможно. Даже сделать «единый полный справочник» не получается, так как изменений много и они происходят постоянно.
Тем не менее, жить вполне можно если знать, куда смотреть.
Есть три основных справочника по JavaScript на английском языке:
1. Mozilla Developer Network - содержит информацию, верную для основных браузеров. Также там присутствуют расширения только для Firefox (они помечены).
Когда мне нужно быстро найти «стандартную» информацию по RegExp-ввожувGoogle «RegExp MDN», и ключевое слово «MDN» (Mozilla Developer Network) приводит к информации из этого справочника.
2. MSDN - справочник от Microsoft. Там много информации, в том числе и по JavaScript (они называют его «JScript»). Если нужно что-то, специфичное для IE - лучше лезть сразу туда.
Например, для информации об особенностях RegExpвIE-полезноесочетание: «RegExp msdn». Иногда к поисковой фразе лучше добавить термин «JScript»: «RegExp msdn jscript».
3. Safari Developer Library - менее известен и используется реже, но в нём тоже можно найти ценную информацию.
Есть ещё справочники, не от разработчиков браузеров, но тоже хорошие:
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.
Спецификация (формальное описание синтаксиса, базовых объектов и алгоритмов) языка Javascript называется ECMAScript.
Её перевод есть на сайте в разделе стандарт языка.
Почему не просто "JavaScript" ?
Вы можете спросить: «Почему спецификация для JavaScript не называется просто «JavaScript», зачем существует какое-то отдельное название?»
Всё потому, что JavaScript™ -зарегистрированная торговая марка, принадлежащая корпорации Oracle.
Название «ECMAScript» было выбрано, чтобы сохранить спецификацию независимой от владельцев торговой марки.
Спецификация может рассказать многое о том, как работает язык, и она является самым фундаментальным, доверенным источником информации.
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 - информация по 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".
Спецификации содержат важнейшую информацию о том, как оно «должно работать»:
JavaScript, современный стандарт ES5 (англ), и предыдущий ES3 (рус). HTML/DOM/CSS - на сайте http://w3.org. Google-комбо: "document.cookie site:w3.org". ...А самые последние версии стандартов - на http://dev.w3.org и на http://whatwg.org/specs/.
То, как оно на самом деле работает и несовместимости:
http://quirksmode.org/. Google-комбо: "innerHeight quirksmode".
Поддержка современных и новейших возможностей браузерами:
http://caniuse.com. Google-комбо: "caniuse geolocation".
