Обсуждение:JavaScript

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

seehowitruns.info[править код]

Не похоже, что бы он был сколько-нибудь регулярно обновляем (и ссылок на него Гугль не находит). Да и пользы от него кот наплакал, на первый взгляд. Я бы его убрал, а поставил гораздо более известный в соответствующих кругах www.quirksmode.org. Alex Kapranoff 09:19, 28 Май 2005 (UTC)

Это разные сайты. www.quirksmode.org - это больше о языке вообще. А на seehowitruns.info можно посмотреть какие методы и функции поддерживаются разными браузерами, в том числе разной экзотикой. Например, вот список браузеров клик по каждому из них и можно посмотреть что из javascript в нём поддерживается, а что нет.--Ctac (Стас Козловский) 09:32, 28 Май 2005 (UTC)
Сайт, конечно, бестолковый, но полезный. А вот ещё ссылка на поиск и сравнение javascript в разных версиях браузеров: http://seehowitruns.info--Ctac (Стас Козловский) 10:03, 28 Май 2005 (UTC)
Что значит - "сайт, кончено, бестолковый, но полезный"? )  — Эта реплика добавлена участником 212.154.142.240 (о · в) 06:43, 13 июня 2006

Кстати, линк список браузеров не работает. — Эта реплика добавлена участником 212.154.142.240 (о · в) 06:45, 13 июня 2006

По этому адресу можно список браузеров увидеть. --Plest 16:29, 8 января 2010 (UTC)

Ссылки на сайт Microsoft[править код]

Уважаемый A.I. Объясните, пожалуйста, почему откатили мои правки ссылок на сайт Microsoft. Приведенная ссылка [1] ведет ну никак не на описание JScript, а именно на HTML and DHTML Reference, о чем кстати, и на самой странице сообщается. Это просто описание объектной модели (DOM) документов, причем конкретного браузера - IE. Тоже полезная вещь и тоже нужная при веб-программировании, поэтому я ее и оставил, переименовав. Хотя Java Script собственно может использоваться и не только для веб-программирования. И во второй моей ссылке [2] как раз и идет общее описание [JScript]. Что было не так в моей правке?Dron007 13:17, 7 февраля 2007 (UTC)

Ну вообще-то ссылка о DHTML в MS IE больше подойдёт в статью DHTML ;). JavaScript - это гораздо больше, чем средства смены фона меню при наведении. Фактически JavaScript используется не только в вебе (например в MS Windows можно писать скрипты для автоматизации задач администратора). На данный момент ссылок и так слишком много и они себя существенно дублируют (например, об особенностях поддержки браузерами ссылка уже есть). В общем, как помните, Википедия - не список ссылок и лучше написать несколько абзацев, чем сделать статью определение и кучу ссылок :). Но это так, размышления. В общем, действительно та ссылка содержала очень много сторонней информации (CSS, HTML, Color Table), а ссылка о JScript от MS в статье уже есть. --A.I. 15:17, 7 февраля 2007 (UTC)
Еще раз посмотрите на ту ссылку. Она не о JScript, а как раз о DHTML! Если убирать, то её.--Dron007 15:37, 7 февраля 2007 (UTC)
Точно :). Исправил. --A.I. 08:12, 8 февраля 2007 (UTC)

И после всех этих невнимательных людей - будете доверять что в Вики осталось (они же самопротиворечат себе в одном слове). Вот, например, посмотрите https://ru.wikipedia.org/wiki/Фрейм_(HTML) - статья обкуцаная донельзя, как будто не фреймы - а ФЛЕЙМЫ Xcislav 00:49, 21 апреля 2014 (UTC)

Ошибка или все правильно?[править код]

Уважаемый А.I. Во втором абзаце, есть следующая фраза: "Например Java, начиная с версии 6..." Насколько мне известно, последняя версия - 1.6. Вероятно, именно ее Вы и имели ввиду. Кстати, сверка с английской статьей подтверждает данную версию

Кстати, это не я опубликовал эту информацию, но понимаю о чём речь :). Дело в том, что Sun решило изменить принцип нумерации Java (не JS) где-то с версии 1.5 на 5. Ребрендинг, если можно так сказать :). --A.I. 23:03, 6 ноября 2007 (UTC)

Безопасность[править код]

Уважаемый автор. Раздел безопасность заслуживает большего внимания. В частности не рассмотрен кросс-сайтовый скриптинг, создающий основную брешь в защите приложений. Создается ложное впечатление, что модель песочницы создает достаточную защиту от кросс-сайтового скриптинга, хотя это не так. — Эта реплика добавлена участником 109.86.141.3 (о · в) 20:36, 21 ноября 2009 (UTC)

Добавил информацию из англоязычной версии статьи на эту тему. Думаю, теперь ложного впечатления о достаточной защите от XSS не создаётся. Пока не хватает источников на важные вещи, имеющиеся ссылки на данные об уязвимостях весьма древние и явно не хватает данных из обзоров по безопасности веб-приложений. Однако основа есть, планирую улучшить со временем. --Plest 10:27, 24 ноября 2009 (UTC)

Взаимосвязь с другими языками[править код]

Заслуживает внимание почти мистическое сходство с ЯП Lua. Несмотря на небольшие различия в синтаксисе. — Эта реплика добавлена участником 109.86.141.3 (о · в) 20:40, 21 ноября 2009 (UTC)

Спасибо, копаю в этом направлении. Может, быть подскажете источник для ускорения процесса? --Plest 11:54, 27 ноября 2009 (UTC)


Рецензирование статьи JavaScript[править код]

В последнее время улучшал эту статью. До этого она была несколько неполной. При улучшении ориентировался на избранные и хорошие статьи о языках программирования (Python, Ruby, Tcl). Старался проиллюстрировать статью примерами, поскольку нарисовать изображение для меня сложнее. Интересует любая информация, которая позволит сделать статью лучше или понять, в чём её главные проблемы, на чём в первую очередь сосредоточить усилия по улучшению. В частности, есть такие вопросы:

  1. Каких изображений всё же не хватает в статье? Если у языка нет логотипа, что им будет являться? Название?
  2. О чём не написано из важного?
  3. Не слишком ли раздут раздел Ядро? Улучшит ли воспринимаемость статьи перенос информации из раздела в головную статью?
  4. Нужны ли таблицы в том виде, в котором они присутствуют в статье? Как их можно улучшить?
  5. Не противоречит ли ВП:НТЗ приведённая цитата Крокфорда в начале раздела Литература? Не следует ли ограничиться нейтральным суждением о недостатке качества литературы на тему JavaScript с приведением ссылки на статью?
  6. Не слишком ли кратко написаны разделы Объектная модель документа и Объектная модель браузера?
  7. Будет ли улучшением переделка раздела Версии на манер версии англовики?
  8. Как можно улучшить раздел Примечания, какой класс источников разумно выделить в отдельный подраздел?
  9. В статье несколько раз проскальзывают упоминания позиций и высказываний авторитетных в мире JavaScript исследователей (Крокфорд, Флэнаган, Стефанов). В принципе, их книги есть в списке литературы и каждое упоминание также снабжено ссылкой. Однако, судя по отзывам, их упоминание в тексте статьи глаз режет, поэтому нужно что-то делать. Какое решение лучше: убрать фамилии, переделав фразы в более размытые (приводимые ссылки позволяют читателям уточнить информацию); при первом упоминании каждой из фамилий сделать небольшое пояснение о том, что за человек упоминается (если так, то в виде комментария или краткой фразой в тексте?); составить небольшой раздел об известных в мире JavaScript людях, ограничив его упоминаемыми в статье людьми, чтоб не слишком большим был (подраздел раздела История?).

--Plest 09:20, 2 ноября 2009 (UTC)

Дополнение. На этом форуме люди откликнулись на призыв помочь и стали вычитывать статью. Уже сейчас довольно полезных замечаний по сути текста накидано. Исправляю потихоньку. --Plest 17:54, 6 ноября 2009 (UTC)
Ещё одна ветка тематического форума с замечаниями по статье. --Plest 21:14, 28 ноября 2009 (UTC)

1. ИМХО название, поскольку оно является товарной маркой.

✔ Сделано --Plest 09:06, 5 ноября 2009 (UTC)
Если у языка нет логотипа, то логотипа у языка нет и являться им ничего не будет. --Anton Khorev 19:35, 5 ноября 2009 (UTC)
Поле logo в карточке языка программирования предназачено для логотипа. У JavaScript логотипа нет, а значит поле logo должно быть незаполненным. Имеющаяся сейчас там ссылка на изображение не соотвествует действительности и вводит читателей в заблуждение. Azakhark 10:31, 29 ноября 2009 (UTC)
✔ Исправлено --Plest 11:04, 29 ноября 2009 (UTC)

3. На взгляд неспециалиста - немного слишком. Чайнику непонятно, а профи может быть мало.

Да, тонкий момент. Жду ещё отзывов с мыслями по этому и 6 пунктам. Как вариант напрашивается урезание раздела до абзаца с перенесением всего остального в статью ECMAScript, что выглядит логичным и способствует однообразности вида всех трёх подразделов, но тогда раздел о семантике и синтаксисе будет совсем уж куцым, а в отношении языков программирования важность такого раздела не представляет сомнений. Перенос в статью об ECMAScript части подразделов с оставлением другой части в статье о JavaScript выглядит неестественным. Возможно, кто-то может привести пример удачного разделения статьи, важная часть которой являет собой пример другой статьи? --Plest 14:07, 5 ноября 2009 (UTC)
✔ Сделано. Информация, относящаяся к ECMAScript, вынесена в соответствующую статью. --Plest 21:14, 28 ноября 2009 (UTC)

6. В сравнении с "ядром" - слишком.
PS - в первый раз оставляю коммент в разделе обсуждения, возможно, что-то делаю не так.JB 05:59, 5 ноября 2009 (UTC)

Ага - не подписались :-) И еще строки хорошо бы разбивать, они только в исходном тексте так нормально выглядели. Partyzan XXI 05:29, 5 ноября 2009 (UTC)
Спасибо, исправилась. ;-) JB 06:00, 5 ноября 2009 (UTC)
Не слишком, так как частью языка они не являются. --Anton Khorev 19:35, 5 ноября 2009 (UTC)
Искал критику Закаса в плане терминологической точности. Найти ничего не удалось. А с этим делением на три части картина весьма стройная получается. То что DOM многограннее будет призвана дать понять головная статья. --Plest 21:50, 5 ноября 2009 (UTC)
Частично ✔ Сделано. Про DOM в качестве языконезависимого интерфейса дополнил в разделе о структуре языка. --Plest 01:39, 6 ноября 2009 (UTC)
Подразделы 'Объектная модель браузера' и 'Объектная модель документа' не имеют никакого отношения к семантике и синтаксису JavaScript, поэтому им не место в разделе 'Семантика и синтаксис'. Azakhark 23:02, 27 ноября 2009 (UTC)
О их отношении к семантике и синтаксису JavaScript можно прочитать в разделе 'Структура языка'. --Plest 21:14, 28 ноября 2009 (UTC)
Раздел 'Структура языка' не соотвествует действительности. Дело в том, что в книге Zakas N. Professional JavaScript for Web Developers, приведенной в ссылках, очевидно речь идет о структуре т.н. Client-side JavaScript, а не самого JavaScript.Azakhark 09:50, 29 ноября 2009 (UTC)
Ну, тут-то как раз можно не гадать. Речь о JavaScript. Вот фрагмент книги:

Zakas N. Professional JavaScript for Web Developers:

Реализации JavaScript Несмотря на то, что JavaScript и ECMAScript зачастую используются как синонимы, JavaScript представляет из себя больше, чем то, что определено в ECMA-262. На самом деле, полная реализация JavaScript состоит из следующих трёх различных частей ...:

  • Ядро (ECMAScript)
  • Объектная модель документа (DOM)
  • Объектная модель браузера (BOM)

--Plest 09:06, 30 ноября 2009 (UTC)

Эта книга рассказывает о применении JavaScript в вебе, поэтому скорее всего автор намеренно привел такую структуру, чтобы не увязнуть в технических деталях. Привидите пожалуйста примеры первичных источников подтверждающих такую структуру JavaScript. Azakhark 12:29, 30 ноября 2009 (UTC)
Вообще говоря, классификация в первичных источниках — редкое явление. Обычно её выработка — удел источников вторичных. Авторитетные источники — книга Закаса и книга Коха («ppk on JavaScript»). --Plest 13:26, 30 ноября 2009 (UTC)
Причем здесь классификация? Речь идет о структуре языка программирования. Первичные источники четко отделяют JavaScript от DOM и BOM. Azakhark 13:39, 30 ноября 2009 (UTC)
Более того, DOM это API, не зависящий от языка программирования и поддерживаемый W3C. А BOM это объектная модель браузера, которая в общем случае специфична для конкретного браузера. Azakhark 12:29, 30 ноября 2009 (UTC)
Упоминание о том, что согласно спецификации DOM языконезависим, в статье есть (раздел Структура языка). А тут весьма показательная цитата Брендана о DOM и JS. --Plest 13:26, 30 ноября 2009 (UTC)
Процитируйте, пожалуйста, здесь. Azakhark 14:02, 30 ноября 2009 (UTC)
"Inventing toolkits and extension systems on top of JS is cool. I hoped that would happen, because during Netscape 2 and 3 days I was under great pressure to minimize JS-the-language, implement JS-the-DOM" --Plest 14:19, 30 ноября 2009 (UTC)
Наличие упоминания о том, что DOM языконезависим сути дела не меняет т.к. DOM не является частью языка, а статья преподносит его как часть. Azakhark 13:58, 30 ноября 2009 (UTC)
Если вы настаиваете на такой структуре языка, то объясните, пожалуйста, почему указанные в статье реализации, например, SpederMonkey, не содержат в себе ни BOM, ни DOM? Azakhark 13:58, 30 ноября 2009 (UTC)
Не настаиваю. Нахожу, что имеет место факт сопоставления такой структуры языку в авторитетных источниках. Которые и привожу. --Plest 14:19, 30 ноября 2009 (UTC)
  • "Существенной особенностью JavaScript является то, что им не владеет какая-либо компания или организация" - как и, например, Си или Scheme.
По ссылке Резиг называет C#, PHP, Perl, Python, Java. --Plest 21:50, 5 ноября 2009 (UTC)
Видимо, он перечисляет языки, используемые в веб-разработке, и говорит, что из них только javascript обладает данной особенностью. --Anton Khorev 16:56, 8 ноября 2009 (UTC)
✔ Сделано Вариант. Изменил фразу, добавил в примечание список языков. --Plest 08:49, 9 ноября 2009 (UTC)
  • Популярность: "Дуглас Крокфорд утверждает, что лидирующую позицию JavaScript занял в связи с (...)" = Дуглас Крокфорд утверждает, что JavaScript занял лидирующую позицию, потому что лидирующей позицией он считает (...).
--Anton Khorev 21:12, 5 ноября 2009 (UTC)
А он в своей статье априорно называет язык самым популярным, рассуждая на тему важности языков. Что некоторые важны из-за того, что концепции из них перекочевали во многие языки программирования и тем самым это явилось вехой в развитии языков программирования. Другие важны из-за того, что собирают вокруг себя большое число пользователей. И в этом смысле, по Крокфорду, JavaScript относится ко второй группе языков. То что насчёт лидирующей позиции он несколько загибает — раздел о популярности есть с цифрами и ссылками --Plest 21:50, 5 ноября 2009 (UTC)
По цифрам и ссылкам:
  • Если указывается позиция языка, значит есть определённое множество языков. Тогда, например, что такое "язык программирования SQL"?
Не нашёл о критериях выбора языков для сравнения. Однако AutoHotkey, например, включен не был из-за своей нишевости. И ещё там же есть дискуссии о ряде языков и о том, что языками не является (ASP тот же). --Plest 08:49, 9 ноября 2009 (UTC)
Какой смысл для читателя статьи имеет фраза "JavaScript находится на 9 месте"? --Anton Khorev 16:00, 9 ноября 2009 (UTC)
Насколько я понимаю, tiobe и langpop — самые известные ресурсы, «меряющие» популярность языков программирования и вообще говоря, АИ они или не АИ — тот ещё вопрос (в связи с этим: может быть, вообще эти данные убрать? однако, судя по всему, они более соответствуют действительности, чем оценка Крокфорда). Наверняка в разделе было бы лучше привести данные исследований, опубликованных в IEEE'шном журнале (а ещё лучше в Science) или в материалах одной из конференций, проводимых тем же IEEE. Однако таких данных у меня нет. Есть tiobe и langpop. Наверняка было бы более информативным приведении первой десятки языков по каждому параметру, но, на мой взгляд, в этом случае, добавилось бы слишком много данных, не относящихся к теме статьи. В приведённой фразе мне видится тот смысл, что имеются восемь сущностей, опережающих JavaScript по данному параметру по данной версии. Если у читателя возникнет интерес к тому, чему JavaScript уступает, а что опережает, он кликнет на сноску и прояснит для себя этот момент. --Plest 16:38, 9 ноября 2009 (UTC)
  • Какие веса используются при составлении взвешенной оценки?
✔ Сделано Единицы. Внёс уточнение в текст. --Plest 08:49, 9 ноября 2009 (UTC)
Обязательно называть что-либо взвешенным, если веса равны единице? --Anton Khorev 16:00, 9 ноября 2009 (UTC)
Палец вверх Спасибо Переобозвал как суммарная оценка. По-моему, это вполне отражает действительность. К тому же какая разница, нормализована оценка или нет, если она не представлена в численном виде, а используется только для сравнения с аналогичными оценками. --Plest 16:38, 9 ноября 2009 (UTC)
--Anton Khorev 19:51, 8 ноября 2009 (UTC)
  • таблица "Типы инструкций":
    • Кому нужен столбец "Оригинальное название"?
Тем, кто за подробностями в отношении какого-то момента полезет в книги? --Plest 08:23, 11 ноября 2009 (UTC)
    • Почему завершающим точкам с запятыми нужен отдельный столбец? Можно их включить в "краткие сведения"? Один раз это сделано, в случае с пустой инструкцией.
Для удобства. Чтобы сразу было видно, где не нужно ставить точку с запятой. Краткие сведения — по-моему, чуть запутаннее раздел, чтобы без особой нужды в него вчитываться. Вынесенные отдельно точки с запятой позволяют прояснять языковые требования в отношении них без особых усилий. --Plest 08:23, 11 ноября 2009 (UTC)
--Anton Khorev 16:42, 9 ноября 2009 (UTC)
  • разбиение статьи на несколько:
    • JavaScript не ограничивается созданием сценариев для веб-страниц, а значительная часть статьи посвящена именно этому. Поэтому предлагаю вынести использование JavaScript в вебе в отдельную статью. Azakhark 00:42, 28 ноября 2009 (UTC)
  • Не путаю. JavaScript встраиваемый язык общего назначения и об этом говорится в статье (прочтите, например, вводную часть или раздел 'Применение') Azakhark 13:48, 28 ноября 2009 (UTC)
  • И с ECMAScript тоже не путаю. Чтобы расставить все точки над i, рекомендую ознакомиться с документацией от Mozilla, в частности с [3].Azakhark 09:11, 29 ноября 2009 (UTC)
  • Если предлагается сделать аналог en:Client-side JavaScript — оно не слишком энциклопедично, по-моему. А аккуратное выдирание всего что относится к использованию в браузере — трудоёмкая операция, способная искалечить статью. Мне кажется, не стоит это делать хотя бы потому, что веб — основной удел JavaScript сейчас и такой же перекос можно наблюдать в источниках. --Plest 21:14, 28 ноября 2009 (UTC)
  • Как раз наоборот, в английской вики подход более правильный. Попробую объяснить почему. Изначально JavaScript создавался как язык сценариев для веб-браузера, но сейчас этот язык можно встроить в любое приложение. Наиболее известное применение JavaScript по-прежнему сценарии для веб-браузера. Поэтому очень часто, когда говорят о JavaScript, на самом деле, имеют в виду JavaScript + BOM + DOM. В английском языке, когда необходимо четко показать о чем идет речь, используют термины: Core JavaScript для самого JavaScript, Client-side JavaScript - для связки JavaScript + BOM + DOM, Server-side JavaScript - для связки JavaScript + объектная модель веб-сервера. Рекомендую также ознакомиться: 1) с документацией по JavaScript на сайте Mozilla [4] 2) David Flanagan. JavaScript: The Definitive Guide. Изд-во O'Reilly.Azakhark 09:41, 29 ноября 2009 (UTC)
  • Логика в этом есть. Флэнаган в «Подробном руководстве», действительно, такую линию проводит. Считаю разумным описать эту позицию в статье со ссылками на источники. И, кстати, в этой связи вычищение всего, что относится к основному применению JavaScript из статьи тем более вредно, поскольку потенциально может привести к ответвлению мнений. --Plest 09:39, 30 ноября 2009 (UTC)
  • Первичные источники (документация от Mozilla) подтверждают, что JavaScript существует отдельно от DOM и BOM, поэтому ни о каком ответвлении мнений не может быть и речи. Данная статья посвящена языку JavaScript, а применение JavaScript в вебе это вполне самостоятельное явление. Azakhark 13:31, 30 ноября 2009 (UTC)
  • "Выдирание всего что относится к использованию в браузере" статье пойдет только на пользу т.к. данная статья посвящена самому языку JavaScript, а не его использованию в вебе. На первом месте должны стоять качество и достоверность информации, а не трудоемкость. Azakhark 10:02, 29 ноября 2009 (UTC)
  • Касаясь вопроса об уделе JavaScript, я бы сказал что веб это наиболее широко известное применение JavaScript. Сфера реального применения языка очень и очень широка на сегодняшний день. Azakhark 10:06, 29 ноября 2009 (UTC)
  • Касаясь вопроса о перекосе в источниках, отмечу что документация по JavaScript от компании Mozilla является первичным источником. Azakhark 10:09, 29 ноября 2009 (UTC)
  • Скорее, первичным источником являются записи в блоге Брендана Айха и в багзилле :) --Plest 11:04, 29 ноября 2009 (UTC)
  • Кстати сказать, в этой документации BOM'овские объекты отнесены к DOM level 0, а само понятие Browser Object Model употреблено едва ли не в одном месте. --Plest 09:39, 30 ноября 2009 (UTC)
  • Строго говоря DOM level 0 не является спецификацией DOM, это всего лишь 'устоявшееся выражение'. Azakhark 12:33, 30 ноября 2009 (UTC)

Добавление ссылок[править код]

Скажите можно ли добавить ссылку на обзор книг по javascript и jquery ? Вот ссылка --188.123.231.171 03:35, 9 января 2013 (UTC)Кирилл

Удивительный Javascript. Игры. --Evgen1084 09:43, 6 марта 2013 (UTC)

Можно создать подзаголовок для литературы и добавить туда книги из Интернета, например - Выразительный JavaScript Vjatcheslavwv (обс.) 06:47, 19 мая 2017 (UTC)

Список литературы[править код]

Добавьте список литературы!

ES 6[править код]

Нужно внести в таблицу версий ES6, дописать про Harmony, провести проверку актуальности по всему тексту статьи. marinintim 15:18, 29 июня 2015 (UTC)

Система управления пакетами[править код]

В разделе «Возможности языка»

Отмечено отсутствие в языке «системы управления пакетами, которая бы отслеживала зависимости и автоматически устанавливала их»

Но:

1. система управления пакетами не может входить в язык, обычно считается, что package manager — это часть «экосистемы» языка

2. система управления пакетами в js конечно же есть: npm — очень популярный пакетный менеджер для js (для серверных, клентстких и «универсальных» пакетов)

Думаю, чтобы внести изменения в статью нужно добавить раздел про «экосистему языка».

--alx (обс.) 09:11, 26 марта 2017 (UTC)

структура языка[править код]

жаль что на сегодняшний день нет языка где структурно бы реализовывалась фрактальность написания программ. это позволило бы увеличить быстродействие фрактального компутера. [ivan]