JScript - JScript
Разработчик | Microsoft |
---|---|
Впервые появился | 1996 |
Стабильный выпуск | 9.0 / март 2011 г. |
Печатная дисциплина | Динамический, слабый, утка |
Операционные системы | Майкрософт Виндоус |
Расширения имени файла | .js, .jse, .wsf, .wsc (.htm, .html, .hta, .asp )[1] |
Интернет сайт | msdn |
Основной реализации | |
Активные сценарии, 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.0 | Netscape JavaScript | 1.0 |
2.0 | Январь 1997 г. | Windows IIS 3.0 | Netscape JavaScript | 1.1 |
3.0 | Октябрь 1997 г. | Internet Explorer 4.0 | ECMA-262 1-е издание[заметка 2] | 1.3 |
4.0 | Visual Studio 6.0 (в составе Визуальный InterDev ) | ECMA-262 1-е издание | 1.3 | |
5.0 | Март 1999 г. | Internet Explorer 5.0 | ECMA-262 2-е издание | 1.4 |
5.1 | Internet Explorer 5.01 | ECMA-262 2-е издание | 1.4 | |
5.5 | Июль 2000 г. | Internet Explorer 5.5 и Windows CE 4.2 | ECMA-262 3-е издание | 1.5 |
5.6 | Октябрь 2001 г. | Internet Explorer 6.0 & Windows CE 5.0 | ECMA-262 3-е издание | 1.5 |
5.7 | Ноя 2006 | Internet Explorer 7.0 | ECMA-262 3-е издание + 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) + JSON (RFC 4627 )3 | 1.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.0 | 2007 | ASP.NET Фьючерсы (превью от июля 2007 г.) | ECMA-262 3rd версия | Рабочий стол CLR 2.0 |
1.1.20625.0 | 2007 | Microsoft 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.0 | ECMA-262 5-е издание | 1.8.1 |
Чакра 10.0 | Сентябрь 2012 г. | Internet Explorer 10.0 | ECMA-262 версия 5.1 | |
Чакра 11.0 | Октябрь 2013 | Internet Explorer 11.0 | ECMA-262 6-е издание | |
Край чакры | Июл 2015 | Край / Windows 10 | ECMA-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.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 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 поддерживает различные функции, не указанные в стандарте ECMA,[15] как и JavaScript.
- ^ Microsoft заявила, что JScript 3.0 был «первым языком сценариев, полностью соответствующим стандарту ECMA-262».[16]
- ^ JScript 5.7 включает реализацию ECMAScript Compact Profile (ECMA-327), которая отключает функции, не требуемые ES-CP, при использовании идентификатора ProgID «JScript.Compact».[нужна цитата ]
- ^ а б c d JScript .NET «разрабатывается вместе с ECMAScript Edition 4».[21]
Рекомендации
- ^ «Типы файлов сценариев». Msdn.microsoft.com. Получено 2012-08-17.
- ^ «JScript (ECMAScript3)». Msdn.microsoft.com. Получено 2012-08-17.
- ^ "Что такое WSH?". Msdn.microsoft.com. Получено 2012-08-17.
- ^ Что такое JScript 10.0?
- ^ Дуглас Крокфорд, Язык программирования JavaScript
- ^ «Мир JScript, JavaScript, ECMAScript». Blogs.msdn.microsoft.com. Получено 2017-10-21.
- ^ "элемент сценария". Msdn.microsoft.com. Получено 2017-10-16.
- ^ "Microsoft-Edge Dev-Guide". Docs.microsoft.com. Получено 2017-10-18.
- ^ «Вместе документируем Интернет». Blogs.windows.com. Получено 2017-10-18.
- ^ «Справочник по языку Javascript (Microsoft Docs)». Docs.microsoft.com. Получено 2017-10-18.
- ^ «Объекты JavaScript (Microsoft Docs)». Docs.microsoft.com. Получено 2017-10-18.
- ^ Лакшман, Пратап. «Отклонения JScript от ES3» (PDF). Реестр. Публикация ситуации / Microsoft. Получено 9 февраля 2020.
- ^ «Что нового в ASP.NET 4.5 и Visual Web Developer 11 Beta: официальный сайт Microsoft ASP.NET».
«Что нового для ASP.NET 4.5 и веб-разработки в Visual Studio 11 Beta». - ^ Информация о версии (сценарии Windows - JScript), Microsoft, получено 2010-05-31
- ^ Возможности Microsoft JScript - не-ECMA (сценарии Windows - JScript), Microsoft, получено 2010-05-31
- ^ Microsoft принимает стандарт сценариев Интернета ECMA; Предоставляет первый в отрасли язык сценариев, совместимый с ECMA, JScript 3.0, в основных продуктах Microsoft, Microsoft, 1997-06-30, архивировано из оригинал на 2009-01-12
- ^ Нийоги, Шанку. «Новый движок JavaScript в Internet Explorer 9». IEBlog (архивы). Microsoft. Получено 19 февраля 2020.
- ^ Информация о версии (сценарии Windows - JScript), Microsoft, получено 2010-05-31
- ^ «Документы по поддержке стандартов Internet Explorer». Открытые спецификации (Microsoft Docs). Microsoft. Получено 19 февраля 2020.
- ^ «Ориентация на Microsoft Edge и устаревшие движки в API JsRT». Документация Microsoft Edge (Microsoft Docs). Microsoft. Получено 19 февраля 2020.
- ^ Что такое JScript .NET?, Microsoft