stringtranslate.com

JScript

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 с пакетом обновления 3 для Windows XP , а JScript 5.8 был представлен в Internet Explorer 8.0 и также устанавливается вместе с Internet Explorer 6.0 в Windows Mobile 6.5 .

Реализация ECMAScript 5-го издания Microsoft в Windows 8 Consumer Preview называется JavaScript , а соответствующая бета-версия Visual Studio 11 Express включает в себя «совершенно новый полнофункциональный редактор JavaScript с улучшениями IntelliSense для HTML5 и синтаксиса ECMAScript 5 , аннотациями VSDOC для нескольких перегрузки, упрощенная конфигурация DOM , сопоставление фигурных скобок, складное структурирование и «переход к определению». [15]

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, источник: блог Jitu)

Существуют две сборки Managed JScript: одна для Desktop CLR и одна для Silverlight CoreCLR .

Управляемый 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.

Существует две версии движка Chakra: оригинальная, используемая в Internet Explorer 9 и более поздних версиях и иногда называемая «jscript9.dll» или «устаревший движок Chakra», и вторая, используемая браузером Microsoft Edge и иногда называемая «jscript9.dll». как «новый движок 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, чем новым первоклассным вариантом. язык.

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)

Смотрите также

Примечания

  1. ^ JScript поддерживает различные функции, не указанные в стандарте ECMA, [17] , как и JavaScript.
  2. ^ Microsoft заявила, что JScript 3.0 был «первым языком сценариев, полностью соответствующим стандарту ECMA-262». [18]
  3. ^ ab JScript 5.7 включает реализацию компактного профиля ECMAScript (ECMA-327), который отключает функции, не требуемые ES-CP, при использовании ProgID «JScript.Compact». [ нужна цитата ]
  4. ^ abcd JScript .NET «разрабатывается совместно с ECMAScript Edition 4». [24]

Рекомендации

  1. ^ «Типы файлов сценариев». Msdn.microsoft.com. 24 октября 2011 года . Проверено 17 августа 2012 г.
  2. ^ «Отключение устаревшего механизма сценариев JScript в Internet Explorer» . TECHCOMMUNITY.MICROSOFT.COM . 13.10.2020 . Проверено 15 ноября 2021 г.
  3. ^ "JScript (ECMAScript3)" . Msdn.microsoft.com. 24 октября 2011 года . Проверено 17 августа 2012 г.
  4. ^ «Что такое WSH?». Msdn.microsoft.com. 24 октября 2011 года . Проверено 17 августа 2012 г.
  5. ^ Что такое JScript 10.0?
  6. ^ Чимпану, Каталин. «Microsoft добавляет возможность отключения JScript в Internet Explorer». ЗДНет . Проверено 15 ноября 2021 г.
  7. ^ «Возможность отключить выполнение JScript в Internet Explorer» . support.microsoft.com . Проверено 15 ноября 2021 г.
  8. ^ Дуглас Крокфорд, Язык программирования JavaScript
  9. ^ «Мир JScript, JavaScript, ECMAScript» . Блоги.msdn.microsoft.com. 15 августа 2007 года . Проверено 21 октября 2017 г.
  10. ^ «Элемент сценария». Msdn.microsoft.com . Проверено 16 октября 2017 г.
  11. ^ "Руководство для разработчиков Microsoft-Edge" . Документы.microsoft.com . Проверено 18 октября 2017 г.
  12. ^ «Совместное документирование Интернета» . Блоги.windows.com. 18 октября 2017 г. Проверено 18 октября 2017 г.
  13. ^ «Справочник по языку Javascript (Microsoft Docs)» . Документы.microsoft.com . Проверено 18 октября 2017 г.
  14. ^ «Объекты JavaScript (Документация Microsoft)» . Документы.microsoft.com . Проверено 18 октября 2017 г.
  15. ^ «Что нового в ASP.NET 4.5 и бета-версии Visual Web Developer 11: официальный сайт Microsoft ASP.NET» . 13 мая 2022 г.
    «Что нового в ASP.NET 4.5 и веб-разработке в бета-версии Visual Studio 11». 12 мая 2015 г.
  16. ^ Информация о версии (сценарии Windows – JScript), Microsoft , получено 31 мая 2010 г.
  17. ^ Возможности Microsoft JScript – не-ECMA (сценарии Windows – JScript), Microsoft , получено 31 мая 2010 г.
  18. ^ Microsoft принимает стандарт интернет-сценариев ECMA; Предоставляет первый в отрасли язык сценариев, совместимый с ECMA, JScript 3.0, в ключевых продуктах Microsoft, Microsoft, 30 июня 1997 г., заархивировано из оригинала 12 января 2009 г.
  19. ^ Лакшман, Пратап. «Отклонения JScript от ES3» (PDF) . Регистр . Издательство ситуации / Microsoft . Проверено 9 февраля 2020 г.
  20. Нийоги, Шанку (18 марта 2010 г.). «Новый движок JavaScript в Internet Explorer 9». IEBlog (архивы) . Майкрософт . Проверено 19 февраля 2020 г.
  21. ^ Информация о версии (сценарии Windows – JScript), Microsoft , получено 31 мая 2010 г.
  22. ^ «Документы поддержки стандартов Internet Explorer» . Открытые спецификации (Microsoft Docs) . Майкрософт . Проверено 19 февраля 2020 г.
  23. ^ «Нацеливание на Microsoft Edge и устаревшие движки в API JsRT» . Документация Microsoft Edge (Microsoft Docs) . Майкрософт . Проверено 19 февраля 2020 г.
  24. ^ Что такое JScript .NET?, Microsoft

Внешние ссылки