JScript - JScript

JScript
Jscript icon.gif
РазработчикMicrosoft
Впервые появился1996; 24 года назад (1996)
Стабильный выпуск
9.0 / март 2011 г.
Печатная дисциплинаДинамический, слабый, утка
Операционные системыМайкрософт Виндоус
Расширения имени файла.js, .jse, .wsf, .wsc (.htm, .html, .hta, .asp )[1]
Интернет сайтmsdn.microsoft.com/библиотека/ hbxc2t98.aspx
Основной реализации
Активные сценарии, JScript .NET

JScript это диалект Microsoft ECMAScript стандарт[2] что используется в Microsoft с Internet Explorer.

JScript реализован как Активные сценарии двигатель. Это означает, что его можно «подключить» к OLE автоматизация приложения, поддерживающие активные сценарии, такие как Internet Explorer, Активные серверные страницы, и Хост сценариев Windows.[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

Как объяснил Дуглас Крокфорд в своем выступлении под названием Язык программирования JavaScript на Юй театр,

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

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

Другие внутренние различия в реализации между JavaScript и JScript в какой-то момент времени отмечаются в Сеть разработчиков Microsoft (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)[12]

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

Это версия, используемая при размещении JScript внутри веб-страницы, отображаемой Internet Explorer, в HTML-приложение перед IE9, а также в классический ASP, Хост сценариев Windows скрипты и другие Автоматизация среды.

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 5th Edition в Предварительная версия Windows 8 для потребителей называется JavaScript и соответствующие Visual Studio 11 Express Beta включает в себя «совершенно новый» полнофункциональный редактор JavaScript с IntelliSense улучшения для HTML5 и ECMAScript 5 синтаксис, аннотации VSDOC для нескольких перегрузок, упрощенные ДОМ конфигурация, соответствие скобок, складывающееся очертание и «перейти к определению».[13]

ВерсияДатаПредставлено с[14]На основе[примечание 1]Похожий JavaScript версия
1.0Август 1996 г.Internet Explorer 3.0Netscape JavaScript1.0
2.0Январь 1997 г.Windows IIS 3.0Netscape JavaScript1.1
3.0Октябрь 1997 г.Internet Explorer 4.0ECMA-262 1-е издание[заметка 2]1.3
4.0Visual Studio 6.0 (в составе Визуальный InterDev )ECMA-262 1-е издание1.3
5.0Март 1999 г.Internet Explorer 5.0ECMA-262 2-е издание1.4
5.1Internet Explorer 5.01ECMA-262 2-е издание1.4
5.5Июль 2000 г.Internet Explorer 5.5 и Windows CE 4.2ECMA-262 3-е издание1.5
5.6Октябрь 2001 г.Internet Explorer 6.0 & Windows CE 5.0ECMA-262 3-е издание1.5
5.7Ноя 2006Internet Explorer 7.0ECMA-262 3-е издание + ECMA-327 (ES-CP)[заметка 3]1.5
5.8Март 2009 г.Internet Explorer 8.0 & Internet Explorer Mobile 6.0ECMA-262 3-е издание + ECMA-327 (ES-CP) + JSON (RFC 4627 )31.5

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

Управляемый JScript

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

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

(Источник: Блог JScript, Блог Джима Хугунина Thinking Dynamic,Источник: Блог Джиту )

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

ВерсияДатаПредставлено сНа основеПлатформа
1.0.0.02007ASP.NET Фьючерсы (превью от июля 2007 г.)ECMA-262 3rd версияРабочий стол CLR 2.0
1.1.20625.02007Microsoft Silverlight 1.1 Альфа (обновление сентябрь 2007 г.)ECMA-262 3rd версияCoreCLR 1.1

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

ВерсияДатаПредставлено с[18]На основе[19]Похожий JavaScript версия
Чакра 9.0Март 2011 г.Internet Explorer 9.0ECMA-262 5-е издание1.8.1
Чакра 10.0Сентябрь 2012 г.Internet Explorer 10.0ECMA-262 версия 5.1
Чакра 11.0Октябрь 2013Internet Explorer 11.0ECMA-262 6-е издание
Край чакрыИюл 2015Край / Windows 10ECMA-262 от 5.1 до 9 (2018) редакции

(поддерживается в актуальном состоянии без управления версиями движка)

Существует две версии движка Chakra, оригинальная, используемая Internet Explorer 9 и позже, и иногда его называют "jscript9.dll" или "устаревший движок Chakra", а второй используется Microsoft Edge браузер и иногда называемый «новым движком Chakra», «движком Edge» или «Chakra.dll». Обе версии Chakra могут использоваться другими приложениями, использующими JsRT API, и могут устанавливаться параллельно.[20]

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

JScript .NET (CLI)

JScript .NET - это Microsoft .NET реализация JScript. Это CLI язык и, таким образом, наследует очень мощные функции, но не имеет многих функций исходного языка JScript, что делает его непригодным для многих сценариев сценариев. JScript .NET может использоваться для ASP.NET страниц и для полных приложений .NET, но отсутствие поддержки этого языка в Microsoft Visual Studio делает его скорее способом обновления классической ASP используя классический JScript, чем новый первоклассный язык.

ВерсияПлатформаДатаПредставлено сНа основе
7.0Рабочий стол CLR 1.02002-01-05Microsoft .NET Framework 1.0ECMA-262 3-е издание[примечание 4]
7.1Рабочий стол CLR 1.12003-04-01Microsoft .NET Framework 1.1ECMA-262 3-е издание[примечание 4]
8.0Рабочий стол CLR 2.02005-11-07Microsoft .NET Framework 2.0ECMA-262 3-е издание[примечание 4]
10.0Рабочий стол CLR 4.02010-08-03Microsoft .NET Framework 4.0ECMA-262 3-е издание[примечание 4]

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)

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

Примечания

  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. ^ а б c d JScript .NET «разрабатывается вместе с ECMAScript Edition 4».[21]

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

  1. ^ «Типы файлов сценариев». Msdn.microsoft.com. Получено 2012-08-17.
  2. ^ «JScript (ECMAScript3)». Msdn.microsoft.com. Получено 2012-08-17.
  3. ^ "Что такое WSH?". Msdn.microsoft.com. Получено 2012-08-17.
  4. ^ Что такое JScript 10.0?
  5. ^ Дуглас Крокфорд, Язык программирования JavaScript
  6. ^ «Мир JScript, JavaScript, ECMAScript». Blogs.msdn.microsoft.com. Получено 2017-10-21.
  7. ^ "элемент сценария". Msdn.microsoft.com. Получено 2017-10-16.
  8. ^ "Microsoft-Edge Dev-Guide". Docs.microsoft.com. Получено 2017-10-18.
  9. ^ «Вместе документируем Интернет». Blogs.windows.com. Получено 2017-10-18.
  10. ^ «Справочник по языку Javascript (Microsoft Docs)». Docs.microsoft.com. Получено 2017-10-18.
  11. ^ «Объекты JavaScript (Microsoft Docs)». Docs.microsoft.com. Получено 2017-10-18.
  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, получено 2010-05-31
  15. ^ Возможности Microsoft JScript - не-ECMA (сценарии Windows - JScript), Microsoft, получено 2010-05-31
  16. ^ Microsoft принимает стандарт сценариев Интернета ECMA; Предоставляет первый в отрасли язык сценариев, совместимый с ECMA, JScript 3.0, в основных продуктах Microsoft, Microsoft, 1997-06-30, архивировано из оригинал на 2009-01-12
  17. ^ Нийоги, Шанку. «Новый движок JavaScript в Internet Explorer 9». IEBlog (архивы). Microsoft. Получено 19 февраля 2020.
  18. ^ Информация о версии (сценарии Windows - JScript), Microsoft, получено 2010-05-31
  19. ^ «Документы по поддержке стандартов Internet Explorer». Открытые спецификации (Microsoft Docs). Microsoft. Получено 19 февраля 2020.
  20. ^ «Ориентация на Microsoft Edge и устаревшие движки в API JsRT». Документация Microsoft Edge (Microsoft Docs). Microsoft. Получено 19 февраля 2020.
  21. ^ Что такое JScript .NET?, Microsoft

внешняя ссылка