JScript
![]() | |
Разработчик | Майкрософт |
---|---|
Впервые появился | 1996 год |
Стабильная версия | 9,0 / март 2011 г. |
Дисциплина набора текста | Динамичный , слабый , дак |
ТЫ | Microsoft Windows |
Расширения имен файлов | .js , .jse , .wsf , .wsc ( .htm , .html , .hta , .asp ) [1] |
Веб-сайт | учиться |
Основные реализации | |
Активные сценарии , JScript .NET |
JScript Microsoft — наследие [2] диалект ECMAScript стандарта [3] который используется в Microsoft веб- браузере Internet Explorer .
JScript реализован как механизм активных сценариев . Это означает, что его можно «подключить» к приложениям OLE-автоматизации , поддерживающим активные сценарии, таким как Internet Explorer , Active Server Pages и Windows Script Host . [4] Это также означает, что такие приложения могут использовать несколько языков активных сценариев, например, JScript, VBScript или PerlScript .
JScript впервые был поддержан в браузере Internet Explorer 3.0, выпущенном в августе 1996 года. Его последней версией является JScript 9.0, включенный в Internet Explorer 9.
JScript 10.0 [5] — это отдельный диалект, также известный как JScript .NET , который добавляет несколько новых функций из заброшенной четвертой редакции стандарта ECMAScript. Его необходимо скомпилировать для .NET Framework версии 2 или 4, но аннотации статических типов не являются обязательными.
JScript подвергался критике за небезопасность и наличие множества ошибок безопасности, «используемых субъектами национального государства». [6] побудило Microsoft добавить возможность отключить его. [7]
Сравнение с JavaScript
[ редактировать ]Как объяснил Дуглас Крокфорд в своем выступлении под названием «Язык программирования JavaScript» на YUI Theater:
[Microsoft] не хотела иметь дело с Sun Microsystems по поводу товарного знака, и поэтому они назвали свою реализацию JScript. Многие люди думают, что JScript и JavaScript — разные, но похожие языки. Это не так. Это просто разные названия одного и того же языка, и причина, по которой эти названия разные, заключалась в том, чтобы обойти проблемы с товарными знаками. [8]
Однако JScript поддерживает условную компиляцию , что позволяет программисту выборочно выполнять код внутри комментариев блока . Это расширение стандарта ECMAScript , которое не поддерживается в других реализациях JavaScript, что делает приведенное выше утверждение не совсем верным, хотя условная компиляция больше не поддерживается в стандартном режиме Internet Explorer 11.
Другие внутренние различия в реализации между JavaScript и JScript в какой-то момент были отмечены в сети Microsoft Developer Network (MSDN). [9] Значением типа по умолчанию для элемента сценария в Internet Explorer является JavaScript, а JScript — его псевдоним. [10] При очевидном переходе от JScript к JavaScript в онлайн-руководстве разработчика Microsoft Edge в качестве полной документации упоминается веб-справочная библиотека Mozilla MDN. [11] По состоянию на октябрь 2017 года туда также перенаправляются страницы Microsoft MSDN для сценариев в Internet Explorer. [12] Эта информация может не включать конкретные объекты JScript, такие как Enumerator, которые перечислены в справочнике по языку JavaScript в Microsoft Docs. [13] Они предоставляют дополнительные функции, которые не включены в стандарты ECMA, независимо от того, поддерживаются ли они в браузере Edge или его предшественнике. [14]
Версии
[ редактировать ]JScript (классический COM)
[ редактировать ]Исходный JScript представляет собой механизм активных сценариев . Как и другие языки активных сценариев, он построен на платформе автоматизации COM/OLE и предоставляет возможности создания сценариев для размещения приложений.
Эта версия использовалась при размещении JScript внутри веб-страницы, отображаемой Internet Explorer , в HTML-приложении до IE9 , а также в классических сценариях ASP , Windows Script Host и других автоматизации средах .
JScript иногда называют «классическим JScript» или «JScript с активными сценариями», чтобы отличать его от более новых версий на основе .NET.
Некоторые версии JScript доступны для нескольких версий Internet Explorer и Windows. Например, JScript 5.7 был представлен в Internet Explorer 7.0 и также установлен для Internet Explorer 6.0 с для Windows XP пакетом обновления 3 , а JScript 5.8 был представлен в Internet Explorer 8.0 и также устанавливается вместе с Internet Explorer 6.0 в Windows Mobile 6.5 .
Реализация Microsoft ECMAScript 5-го издания в Windows 8 Consumer Preview называется JavaScript , а соответствующая бета-версия Visual Studio 11 Express включает «совершенно новый полнофункциональный редактор JavaScript с улучшениями IntelliSense для HTML5 и синтаксиса ECMAScript 5 , аннотациями VSDOC для нескольких перегрузки, упрощенная конфигурация DOM , сопоставление фигурных скобок, складное структурирование и «переход к определению». [15]
Версия | Дата | Представлено с [16] | На основе [примечание 1] | Аналогичная JavaScript версия |
---|---|---|---|---|
1.0 | август 1996 г. | Интернет Эксплорер 3.0 | Нетскейп JavaScript | 1.0 |
2.0 | Январь 1997 г. | Windows IIS 3.0 | Нетскейп JavaScript | 1.1 |
3.0 | октябрь 1997 г. | Интернет Эксплорер 4.0 | ECMA-262 1-е издание [примечание 2] | 1.3 |
4.0 | Visual Studio 6.0 (в составе Visual InterDev ) | ECMA-262 1-е издание | 1.3 | |
5.0 | март 1999 г. | Интернет Эксплорер 5.0 | ECMA-262 2-е издание | 1.4 |
5.1 | Интернет Эксплорер 5.01 | ECMA-262 2-е издание | 1.4 | |
5.5 | июль 2000 г. | Интернет Эксплорер 5.5 и Windows CE 4.2 | ECMA-262 3-е издание | 1.5 |
5.6 | октябрь 2001 г. | Интернет Эксплорер 6.0 и Windows CE 5.0 | ECMA-262 3-е издание | 1.5 |
5.7 | ноябрь 2006 г. | Интернет Эксплорер 7.0 | ECMA-262 3-е издание [19] + ECMA-327 (ES-CP) [примечание 3] | 1.5 |
5.8 | март 2009 г. | Internet Explorer 8.0 и Internet Explorer Mobile 6.0 | ECMA-262, 3-е издание + ECMA-327 (ES-CP) [примечание 3] + JSON (RFC 4627) | 1.5 |
JScript также доступен в Windows CE (включен в Windows Mobile, опционально в Windows Embedded CE). В версии Windows CE отсутствует активная отладка.
Управляемый JScript
[ редактировать ]Managed JScript — это реализация JScript для среды выполнения динамического языка . Он является частью динамических языков Microsoft для .NET наряду с IronRuby , IronPython и Dynamic Visual Basic .В отличие от JScript .NET, который менее динамичен, чем исходный JScript, но обеспечивает совместимость с CLS , Managed JScript разработан на основе DLR и предоставляет функции, необходимые для сценариев сценариев.
Хотя в настоящее время он в первую очередь предназначен для использования в Silverlight и ASP.NET, его также можно легко встроить в любое приложение .NET.
(Источник: блог JScript , блог Джима Хугунина Thinking Dynamic ,Источник: Блог Джиту )
Существуют две сборки Managed JScript: одна для Desktop CLR и одна для Silverlight CoreCLR.
Версия | Дата | Представлено с | На основе | Платформа |
---|---|---|---|---|
1.0.0.0 | 2007 | ASP.NET Futures (предварительная версия за июль 2007 г.) | ECMA-262 3-е издание | Настольная среда CLR 2.0 |
1.1.20625.0 | 2007 | Microsoft Silverlight 1.1 Alpha (обновление от сентября 2007 г.) | ECMA-262 3-е издание | CoreCLR 1.1 |
Управляемый JScript не поддерживается в .NET Compact Framework .
(Источник: версии файлов Microsoft.JScript.Runtime.dll в папках ASP.NET Futures и Silverlight 1.1)
JScript «Чакра» (JsRT)
[ редактировать ]JScript «Chakra» основан на версии JScript (COM classic), но он был переработан для повышения производительности в Internet Explorer 9. [20] за счет правильной совместимости с движком Active Scripting. Для правильного использования требуется специальный API-интерфейс Microsoft JavaScript Hosting (JsRT). Поэтому он устанавливается параллельно с JScript 5.x и используется только Internet Explorer 9 и более поздних версий, а также узлами JsRT, в то время как другие узлы Active Scripting продолжают использовать версию 5.x при запросе механизма JScript.
Версия | Дата | Представлено с [21] | На основе [22] | Аналогичная JavaScript версия |
---|---|---|---|---|
Чакра 9.0 | март 2011 г. | Интернет Эксплорер 9.0 | ECMA-262 5-е издание | 1.8.1 |
Чакра 10.0 | Сентябрь 2012 г. | Интернет Эксплорер 10.0 | ECMA-262 версия 5.1 | |
Чакра 11.0 | октябрь 2013 г. | Интернет Эксплорер 11.0 | ECMA-262, 6-е издание | |
Край чакры | июль 2015 г. | Край / Windows 10 | ECMA-262 версии 5.1–9 (2018 г.) (поддерживается в актуальном состоянии без версии движка) |
Существует две версии движка Chakra: исходная, используемая в Internet Explorer 9 и более поздних версиях и иногда называемая «jscript9.dll» или «устаревший движок Chakra», и вторая, используемая браузером Microsoft Edge и иногда называемая «jscript9.dll» или « устаревшим движком Chakra». как «новый движок Chakra», «Edge engine» или «Chakra.dll».Обе версии Chakra могут использоваться другими приложениями, использующими API JsRT, и могут быть установлены параллельно. [23]
См. отдельную страницу о новом движке Chakra (Edge) .
JScript.NET (CLI)
[ редактировать ]JScript .NET — это реализация JScript в Microsoft .NET . Это язык CLI , поэтому он унаследовал очень мощные функции, но ему не хватает многих функций исходного языка JScript, что делает его непригодным для многих сценариев написания сценариев.JScript .NET можно использовать для страниц ASP.NET и для полных приложений .NET, но отсутствие поддержки этого языка в Microsoft Visual Studio делает его скорее способом обновления классического ASP с использованием классического JScript, чем новым первоклассным вариантом. язык.
Версия | Платформа | Дата | Представлено с | На основе |
---|---|---|---|---|
7.0 | Настольная среда CLR 1.0 | 2002-01-05 | Microsoft .NET Framework 1.0 | ECMA-262 3-е издание [примечание 4] |
7.1 | Настольная среда CLR 1.1 | 2003-04-01 | Microsoft .NET Framework 1.1 | ECMA-262 3-е издание [примечание 4] |
8.0 | Настольная среда CLR 2.0 | 2005-11-07 | Microsoft .NET Framework 2.0 | ECMA-262 3-е издание [примечание 4] |
10.0 | Настольная CLR 4.0 | 2010-08-03 | Microsoft .NET Framework 4.0 | ECMA-262 3-е издание [примечание 4] |
JScript .NET не поддерживается в .NET Compact Framework . [ нужна ссылка ]
Примечание. Версии JScript .NET не связаны с классическими версиями JScript. JScript .NET — это отдельный продукт. Несмотря на то, что JScript .NET не поддерживается в интегрированной среде разработки Visual Studio, его версии синхронизируются с версиями других языков .NET ( C# , VB.NET , VC++ ), которые следуют за соответствующими версиями Visual Studio.
.NET Framework 3.0 и 3.5 созданы на основе версии 2.0 и не включают более новую версию JScript.NET (версию 10.0 для .NET Framework 4.0).
(Источник: файловая версия компилятора jsc.exe JScript.NET и Microsoft.JScript.dll, установленного вместе с .NET Framework)
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ JScript поддерживает различные функции, не указанные в стандарте ECMA, [17] как и JavaScript.
- ^ Microsoft заявила, что JScript 3.0 был «первым языком сценариев, полностью соответствующим стандарту ECMA-262». [18]
- ^ Перейти обратно: а б JScript 5.7 включает реализацию компактного профиля ECMAScript (ECMA-327), который отключает функции, не требуемые ES-CP, при использовании ProgID «JScript.Compact». [ нужна ссылка ]
- ^ Перейти обратно: а б с д JScript .NET «разрабатывается совместно с ECMAScript Edition 4». [24]
Ссылки
[ редактировать ]- ^ «Типы файлов сценариев» . Msdn.microsoft.com. 24 октября 2011 года . Проверено 17 августа 2012 г.
- ^ «Отключение устаревшего механизма сценариев JScript в Internet Explorer» . TECHCOMMUNITY.MICROSOFT.COM . 13.10.2020 . Проверено 15 ноября 2021 г.
- ^ «JScript (ECMAScript3)» . Msdn.microsoft.com. 24 октября 2011 года . Проверено 17 августа 2012 г.
- ^ «Что такое WSH?» . Msdn.microsoft.com. 24 октября 2011 года . Проверено 17 августа 2012 г.
- ^ Что такое JScript 10.0?
- ^ Чимпану, Каталин. «Microsoft добавляет возможность отключения JScript в Internet Explorer» . ЗДНет . Проверено 15 ноября 2021 г.
- ^ «Возможность отключить выполнение JScript в Internet Explorer» . support.microsoft.com . Проверено 15 ноября 2021 г.
- ^ Дуглас Крокфорд, Язык программирования JavaScript
- ^ «Мир JScript, JavaScript, ECMAScript» . Блоги.msdn.microsoft.com. 15 августа 2007 года . Проверено 21 октября 2017 г.
- ^ «элемент сценария» . Msdn.microsoft.com . Проверено 16 октября 2017 г.
- ^ «Руководство для разработчиков Microsoft-Edge» . Документы.microsoft.com . Проверено 18 октября 2017 г.
- ^ «Совместное документирование Интернета» . Блоги.windows.com. 18 октября 2017 г. Проверено 18 октября 2017 г.
- ^ «Справочник по языку Javascript (Microsoft Docs)» . Документы.microsoft.com . Проверено 18 октября 2017 г.
- ^ «Объекты JavaScript (Документация Microsoft)» . Документы.microsoft.com . Проверено 18 октября 2017 г.
- ^ «Что нового в ASP.NET 4.5 и бета-версии Visual Web Developer 11: официальный сайт Microsoft ASP.NET» . 13 мая 2022 г.
«Что нового в ASP.NET 4.5 и веб-разработке в бета-версии Visual Studio 11» . 12 мая 2015 г. - ^ Информация о версии (сценарии Windows – JScript) , Microsoft , получено 31 мая 2010 г.
- ^ Возможности Microsoft JScript – не-ECMA (сценарии Windows – JScript) , Microsoft , получено 31 мая 2010 г.
- ^ Microsoft принимает стандарт интернет-сценариев ECMA; Предоставляет первый в отрасли язык сценариев, совместимый с ECMA, JScript 3.0, в ключевых продуктах Microsoft , Microsoft, 30 июня 1997 г., заархивировано из оригинала 12 января 2009 г.
- ^ Лакшман, Пратап. «Отклонения JScript от ES3» (PDF) . Регистр . Издательство ситуации / Microsoft . Проверено 9 февраля 2020 г. .
- ^ Ниёги, Шанку (18 марта 2010 г.). «Новый движок JavaScript в Internet Explorer 9» . IEBlog (архивы) . Майкрософт . Проверено 19 февраля 2020 г.
- ^ Информация о версии (сценарии Windows – JScript) , Microsoft , получено 31 мая 2010 г.
- ^ «Документы поддержки стандартов Internet Explorer» . Открытые спецификации (Microsoft Docs) . Майкрософт . Проверено 19 февраля 2020 г.
- ^ «Нацеливание на Microsoft Edge и устаревшие движки в API JsRT» . Документация Microsoft Edge (Microsoft Docs) . Майкрософт . Проверено 19 февраля 2020 г.
- ^ Что такое JScript .NET? , Майкрософт
Внешние ссылки
[ редактировать ]