Почему нет ОФИЦИАЛЬНОЙ ссылки на JavaScript? [закрыто]


91

Я попытался найти ссылку на JavaScript, но ее нет. Два лучших предлагаемых источника - это MDN (Mozilla Developer Network) и W3Schools.

Зачем?


55
Избегайте школ w3schools; его JS-материал имеет тенденцию быть чрезвычайно бедным, ИМХО.
NickFitz,

1
Извините, я имел в виду MDC; developer.mozilla.org/en/About_JavaScript
привет,

9
Это своего рода случайный комментарий, но лично я думаю, что все браузеры должны отказаться от всех ублюдков Javascript / Jscript и реализовать jQuery изначально. :)
DisgruntledGoat

14
Обои jQuery поверх DOM, но фактически не заменяют JavaScript.
Роб

2
@huy MDN, а не MDC или MDE
maan81

Ответы:


64

Это не похоже на официальную версию JavaScript. Все браузеры создали свой собственный движок JavaScript, хотя некоторые используют его. Но особенно у Internet Explorer есть собственная версия, которая не поддерживает многое из того, что поддерживают другие браузеры, что очень затрудняет создание общих ссылок на JavaScript.

Изменить:
хотя я знаю, что существует официальный стандарт ECMA и команда разработчиков, я считаю, что это не имеет значения, если браузеры (Internet Explorer) не соответствуют этому. В конце концов, клиенты хотят, чтобы JavaScript работал и с Internet Explorer. Их не волнуют стандарты ECMA, они просто хотят, чтобы они работали. Здесь на помощь приходят библиотеки JavaScript, но это уже другая история.

То же самое с HTML и CSS, мы не можем использовать эти инструменты для активной разработки, пока:

  • Все браузеры их поддерживают.
  • Мы снабжаем браузеры кодом, чтобы они поддерживали его.
  • Ничего страшного, это работает не во всех браузерах.

Edit2:
Internet Explorer приближается к могиле с новым проектом браузера от Microsoft: Edge. Однако это не меняет общей картины. У нас все еще есть много разных браузеров, которые нам нужно поддерживать. Разработчики постоянно пытаются раздвинуть границы возможного. Это означает, что у нас часто возникает эта проблема, некоторая версия браузера, которую мы хотим поддерживать, не поддерживает некоторые функции стандарта (которые обычно немного изменчивы), что означает, что нам нужно найти обходной путь или использовать фреймворки, реализующие отсутствующие встроенные в особенностях.


Понятно, значит, разные браузеры имеют собственную реализацию в соответствии со стандартом ECMA-262, о котором Майкл упоминал выше?
привет,

3
@huy: да - с разными уровнями поддержки / разными интерпретациями этого стандарта, к сожалению ...
Анджей Дойл

1
-1, Там является официальным стандартом JavaScript: это называется ECMAscript и есть официальный орган позади него: en.wikipedia.org/wiki/Ecma_International
HASEN

Я не уверен, почему вы выбрали Internet Explorer, который хуже поддерживает «стандарт» ECMA, чем любой другой браузер.

5
@ ראובן: Потому что это было / было. В течение долгого времени в IE не только было много серьезных ошибок, которых не было в других браузерах, но и отсутствовали важные функции, которые были в других браузерах. Однако IE8 и 9 многое догнали, так что ситуация меняется. Но многие годы IE был ужасен, в то время как другие браузеры имели хорошую поддержку ECMAScript. Кроме того, ECMAScript является стандартом. Я не уверен, почему вы заключили это в кавычки.
Pauan

28

Вы можете попробовать на официальном сайте ECMAscript,

http://www.ecmascript.org/

но полезная вещь - это реализация каждого браузера.

Мне очень нравится эта шпаргалка из Библии Дэнни Гудмана по JavaScript:

http://media.wiley.com/product_ancillary/12/04705269/DOWNLOAD/9780470526910_Appendix_A.pdf


Эта шпаргалка мертва. Могу я предложить caniuse.com?
Гринн

Спасибо, я перешел на новую ссылку и немного объяснил, что это было. Спасибо за внимание!
Victor

Хорошо, я это проверю.
Гринн

22

Я бы сказал, что это «официальный»: https://developer.mozilla.org/en/JavaScript

У вас также есть спецификация языка ECMAScript, версия 5.1 (или полная спецификация в формате PDF ) .

И от Microsoft: Справочник по языку JavaScript : «Эта документация объясняет реализацию Microsoft JavaScript , которая совместима со спецификацией языка ECMAScript 5th Edition . Она также предоставляет дополнительные функции, не включенные в стандарты Ecma».


8
IE не имеет движка JavaScript - вместо этого он реализует JScript (который в значительной степени совместим). msdn.microsoft.com/en-us/library/yek4tbz0%28VS.85%29.aspx выглядит как официальная ссылка на это.
Квентин,

3
Хм ... developer.mozilla очень помогает, но я бы не назвал его "официальным". Спецификация языка ECMAScript ближе к «официальной».
Стив Харрисон,

4
Спецификация языка ECMAScript является официальным справочником по ECMAScript. JavaScript - это надмножество ECMAScript, было создано Netscape, а Mozilla унаследовала MDC от Netscape (хотя с тех пор название изменилось)
Квентин,

+1 для стандарта ECMAScript.
Jason S

@Quentin - Интересно, что название ссылки MSDN, на которую вы ссылаетесь, теперь называется «Справочник по JavaScript» . Однако в статье MSDN «JScript (ECMAScript3)» говорится: «JScript - это реализация Microsoft спецификации языка ECMA 262 (ECMAScript Edition 3). За некоторыми незначительными исключениями (для обеспечения обратной совместимости) JScript является полной реализацией стандарт ECMA ". .
DavidRR

8

Если вы используете ECMAScript для Интернета (а это 99,9% людей), то помимо базовой синтаксики языка (описанной в спецификации ECMA-262, упомянутой выше), вы, вероятно, ищете ссылку на DOM - который представляет собой API ECMAScript, который используется для взаимодействия с веб-документами.

Я очень удивлен, что никто не упомянул DOM api sofar. Текущий стандарт W3C DOM находится здесь: http://www.w3.org/TR/DOM-Level-2-Core/

(Кстати, что касается путаницы с именами - ECMAScript - это название официального стандарта, а «Javascript» и «JScript» - это проприетарные «вилки» Netscape и Microsoft).


3

Есть официальная справка, просто не очень удобного формата. Это спецификация ECMA-262 . Это один очень большой PDF-документ, а не набор HTML-страниц с возможностью поиска.


3

Любые изменения страниц JavaScript на MDC, сделанные членом группы документации Mozilla (например, Эриком Шепердом ), являются официальными. JavaScript официально поддерживается Mozilla, поэтому официальной является только документация Mozilla. Единственные движки, поддерживающие JavaScript, в настоящее время созданы Mozilla, а все остальные движки реализуют ECMAScript. JavaScript и ECMAScript имеют довольно много различий (например, letвыражение awesome ).


3

Очень сложно иметь "официальную" ссылку, пока есть реализации (во всех браузерах) и есть спецификация (ECMAScript), но нет тестов на соответствие реализаций спецификациям.

Однако теперь у нас есть пакет соответствия EMCAScript 5 по адресу http://es5conform.codeplex.com/ - и, похоже, существует определенный консенсус в отношении того, что реализации ECMAScript будут ближе друг к другу, что делает ECMAScript более вероятным официальным эталоном для языка.


2

Я считаю, что для этой цели очень полезны старые документы Netscape 4 JavaScript . Хотя они, очевидно, полностью устарели, и некоторые функции DOM в них, такие как слои, давно ушли, для языковых основ они действительно надежны.

Это потому , что до дней IE превосходства и стандартизации ECMA, JavaScript Netscape был окончательный JavaScript. Другим браузерам приходилось реализовывать именно то, что вы видите в этих старых документах.

Кроме того, они намного легче читаются, чем документ ECMA-262, который даже по стандартам документов является абсолютным ужасом.


1

Цитата из Википедии:

Начало в Netscape

В ноябре 1996 года Netscape представила JavaScript в Ecma International ...

JavaScript официально управляется Mozilla Foundation ...

Итак, на мой взгляд, ECMA является стандартом, а Mozilla - официальным.


0

Под «официальным», я думаю, вы имеете в виду «написано людьми, ответственными за JavaScript».

Просто спекулирую здесь, но люди, ответственные за JavaScript (ECMA), напрямую не зарабатывают на этом деньги и, вероятно, не имеют особых навыков в написании справочной документации. Так что у них нет ни стимула, ни возможности написать хорошую ссылку.

Лично мне нравится JavaScript: полное руководство от O'Reilly. В ноябре выйдет шестое издание.


2
Да. Sun владеет торговой маркой JavaScript, но передала ее Netscape по лицензии. Oracle купила Sun, поэтому теперь Oracle владеет товарным знаком (они все еще лицензируют его Mozilla). HTML и CSS определены W3C, так что это другое дело. Движок JS в Firefox содержит множество проприетарных (и замечательных) функций, которых нет ни в одном другом браузере. Создатель JavaScript (Брендан Эйх) входит в официальный комитет ECMAScript, а также работает в Mozilla.
Пауан

1
Кроме того, обратите внимание на эту ссылку: en.wikipedia.org/wiki/ECMAScript#Dialects В Firefox есть так называемый «JavaScript 1.8.5», который, как уже упоминалось, содержит множество дополнительных функций, которых нет в других браузерах, таких как деструктуризация / понимание объектов / массивов. , генераторы / итераторы, блоки / операторы let и т. д. Также обратите внимание на вторую сноску в этой ссылке, в которой говорится: «Mozilla управляет официальной версией JavaScript. Большинство реализаций, не относящихся к Mozilla, утверждающих« соответствие »JavaScript, на самом деле не поддерживают большинство расширений JavaScript; скорее, они нацелены на ECMA-262, издание 3. "
Пауан

1
Замечу, что ECMAScript отличается от JavaScript. ECMAScript - это стандарт, определенный Ecma. Браузеры обычно довольно хорошо поддерживают стандарт ECMAScript, и когда большинство людей говорят «JavaScript», на самом деле они имеют в виду ECMAScript. К сожалению, ситуация и терминология так запутывают, но это так. Итак, по большей части неофициальное определение JavaScript - это «все, что делают браузеры», но официально Mozilla действительно несет за это ответственность.
Пауан

1
Это означает, что любой вопрос, требующий «официальной справки по JavaScript», слишком расплывчат, чтобы на него можно было дать точный ответ. У вас есть официальный стандарт ECMAScript, фактические реализации JavaScript в браузерах, MDC (который охватывает официальную реализацию JavaScript в Firefox) и, конечно же, очень популярная неофициальная документация, такая как w3schools. Все они полезны, поэтому на самом деле нет «единственной правильной» ссылки, как, например, для Python.
Пауан

2
(возможно, мне следовало опубликовать это как реальный ответ, а не серию комментариев ... да ладно)
Пауан

-1

Мне очень нравится apidoc Дэниела Крука , хотя в нем можно использовать некоторые пояснения и примеры. Мне бы очень хотелось увидеть мэшап krook w3school.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.