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

JScript является диалектом от Microsoft на ECMAScript стандарта [2] , который используется в Microsoft «s Internet Explorer .

JScript реализован как движок активных сценариев . Это означает, что его можно «подключить» к приложениям OLE Automation, которые поддерживают активные сценарии, таким как Internet Explorer , Active Server Pages и Windows Script Host . [3] Это также означает, что такие приложения могут использовать несколько языков Active Scripting, например JScript, VBScript или PerlScript .

JScript впервые был поддержан в браузере Internet Explorer 3.0, выпущенном в августе 1996 года. Его последней версией является JScript 9.0, включенный в Internet Explorer 9.

JScript 10.0 [4] - это отдельный диалект, также известный как JScript .NET , который добавляет несколько новых функций из заброшенной четвертой редакции стандарта ECMAScript. Он должен быть скомпилирован для .NET Framework версии 2 или версии 4, но аннотации статического типа не являются обязательными.

Сравнение с JavaScript [ править ]

Как объяснил Дуглас Крокфорд в своем выступлении под названием The JavaScript Programming Language на YUI Theater ,

[Microsoft] не хотела иметь дело с Sun Microsystems по вопросу о товарных знаках, поэтому они назвали свою реализацию JScript. Многие люди думают, что JScript и JavaScript - это разные, но похожие языки. Это не так. Это просто разные названия одного и того же языка, и причина, по которой они разные, заключалась в том, чтобы обойти проблемы с товарными знаками. [5]

Однако JScript поддерживает условную компиляцию , которая позволяет программисту выборочно выполнять код в комментариях блока . Это расширение стандарта ECMAScript , которое не поддерживается в других реализациях JavaScript, что делает приведенное выше утверждение не полностью верным, хотя условная компиляция больше не поддерживается в стандартном режиме Internet Explorer 11.

Другие внутренние различия в реализации между JavaScript и JScript в какой-то момент отмечаются в Microsoft Developer Network (MSDN). [6] Хотя значением типа по умолчанию для элемента сценария в Internet Explorer является JavaScript, а JScript был его псевдонимом. [7] В связи с очевидным переходом от JScript к JavaScript в Интернете Руководство разработчика Microsoft Edge ссылается на веб-библиотеку Mozilla MDN как на основную документацию. [8] С октября 2017 года страницы Microsoft MSDN для сценариев в Internet Explorer также перенаправляются туда. [9]Эта информация может не включать объекты JScript, такие как Enumerator, которые перечислены в справочнике по языку JavaScript в Microsoft Docs. [10] Они предоставляют дополнительные функции, которые не включены в стандарты ECMA, независимо от того, поддерживаются ли они в браузере Edge или его предшественнике. [11]

Версии [ править ]

JScript (COM Classic) [12] [ править ]

Исходный JScript - это движок активных сценариев . Как и другие языки Active Scripting, он построен на платформе COM / OLE Automation и предоставляет возможности написания сценариев для хост-приложений.

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

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

JScript также доступен в Windows CE (включен в Windows Mobile, опционально в Windows Embedded CE). В версии Windows CE отсутствует активная отладка.

Управляемый JScript [ править ]

Управляемый JScript - это реализация JScript для среды выполнения динамического языка , он является частью динамических языков Microsoft для .NET вместе с IronRuby , IronPython и Dynamic Visual Basic . В отличие от JScript .NET, который менее динамичен, чем исходный JScript, но обеспечивает совместимость с CLS , управляемый JScript разработан на основе DLR и предоставляет функции, необходимые для сценариев сценариев.

Хотя в настоящее время он в первую очередь предназначен для использования в Silverlight и ASP.NET, его также можно легко встроить в любое приложение .NET.

(Источник: JScript Блог , Джим Хагунин подумывает Динамический блог , Источник: Блог Jitu )

Существуют две сборки управляемого JScript, одна для настольной среды CLR и одна для CoreCLR ( Microsoft Silverlight ).

Управляемый JScript не поддерживается в .NET Compact Framework .

(Источник: версии файлов Microsoft.JScript.Runtime.dll в папках ASP.NET Futures и Silverlight 1.1)

JScript "Чакра" (JsRT) [17] [ править ]

JScript «Chakra» основан на версии JScript (COM classic), но он был переработан для повышения производительности в Internet Explorer 9 за счет надлежащей совместимости с движком 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 и иногда называемая как «новый движок Chakra», «Edge Engine» или «Chakra.dll». Обе версии Chakra могут использоваться другими приложениями, использующими JsRT API, и могут быть установлены параллельно. [20]

См. Отдельную страницу о новом движке Chakra (Edge) .

JScript .NET (CLI) [ править ]

JScript .NET - это реализация JScript в Microsoft .NET . Это язык интерфейса командной строки, поэтому он наследует очень мощные функции, но в нем отсутствуют многие функции исходного языка 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 IDE, его версии синхронизированы с версиями других языков .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.Encode
  • Файл сценария Windows
  • Хост сценариев Windows
  • WinJS

Заметки [ править ]

  1. ^ JScript поддерживает различные функции, не указанные в стандарте ECMA [15], как и JavaScript.
  2. ^ Microsoft заявила, что JScript 3.0 был «первым языком сценариев, полностью соответствующим стандарту ECMA-262». [16]
  3. ^ JScript 5.7 включает реализацию ECMAScript Compact Profile (ECMA-327), которая отключает функции, не требуемые ES-CP, при использовании идентификатора ProgID «JScript.Compact». [ необходима цитата ]
  4. ^ a b c d JScript .NET «разрабатывается вместе с ECMAScript Edition 4». [21]

Ссылки [ править ]

  1. ^ «Типы файлов сценария» . Msdn.microsoft.com . Проверено 17 августа 2012 .
  2. ^ «JScript (ECMAScript3)» . Msdn.microsoft.com . Проверено 17 августа 2012 .
  3. ^ "Что такое WSH?" . Msdn.microsoft.com . Проверено 17 августа 2012 .
  4. ^ Что такое JScript 10.0?
  5. ^ Дуглас Крокфорд, Язык программирования JavaScript
  6. ^ «Мир JScript, JavaScript, ECMAScript» . Blogs.msdn.microsoft.com . Проверено 21 октября 2017 .
  7. ^ "элемент сценария" . Msdn.microsoft.com . Проверено 16 октября 2017 .
  8. ^ "Microsoft-Edge Dev-Guide" . Docs.microsoft.com . Проверено 18 октября 2017 .
  9. ^ «Документируем Интернет вместе» . Blogs.windows.com . Проверено 18 октября 2017 .
  10. ^ «Справочник по языку Javascript (Microsoft Docs)» . Docs.microsoft.com . Проверено 18 октября 2017 .
  11. ^ «Объекты JavaScript (Microsoft Docs)» . Docs.microsoft.com . Проверено 18 октября 2017 .
  12. ^ Лакшман, Пратап. «Отклонения JScript от ES3» (PDF) . Реестр . Публикация ситуации / Microsoft . Дата обращения 9 февраля 2020 .
  13. ^ «Что нового в ASP.NET 4.5 и Visual Web Developer 11 Beta: официальный сайт Microsoft ASP.NET» .
    «Что нового для ASP.NET 4.5 и веб-разработки в Visual Studio 11 Beta» .
  14. ^ Информация о версии (сценарии Windows - JScript) , Microsoft , получено 31 мая 2010 г.
  15. ^ Microsoft JScript Features - Non-ECMA (Windows Scripting - JScript) , Microsoft , получено 31 мая 2010 г.
  16. ^ Microsoft принимает стандарт сценариев Интернета ECMA; Предоставляет первый в отрасли язык сценариев, совместимый с ECMA, JScript 3.0, в основных продуктах Microsoft, Microsoft, 30 июня 1997 г., заархивировано из оригинала 12 января 2009 г.
  17. ^ Niyogi, Shanku. «Новый движок JavaScript в Internet Explorer 9» . IEBlog (архивы) . Microsoft . Дата обращения 19 февраля 2020 .
  18. ^ Информация о версии (сценарии Windows - JScript) , Microsoft , получено 31 мая 2010 г.
  19. ^ «Документы поддержки стандартов Internet Explorer» . Открытые спецификации (Microsoft Docs) . Microsoft . Дата обращения 19 февраля 2020 .
  20. ^ «Ориентация на Microsoft Edge и устаревшие движки в API JsRT» . Документация Microsoft Edge (Microsoft Docs) . Microsoft . Дата обращения 19 февраля 2020 .
  21. ^ Что такое JScript .NET? , Microsoft

Внешние ссылки [ править ]

  • Документация JScript в библиотеке MSDN
  • Примечания к выпуску JScript 5.7
  • Документация JScript .NET в библиотеке MSDN
  • Блог JScript
  • JavaScript - JScript - История версий ECMAScript
  • Возможности JScript - ECMA
  • Возможности JScript - не ECMA
  • Новые функции в JavaScript (Microsoft Docs)