В чем разница между JavaScript и JScript?


117

Я всегда задавался вопросом, ЧТО ТАКОЕ?!? это разница между JScript и JavaScript.


Я уверен, что на это уже указывалось, но IE, вы не можете использовать constключевое слово для объявления переменных: const MY_CONSTANT = 10;
dplante 05

Ответы:


83

Просто разные названия того, что на самом деле является ECMAScript. У Джона Ресига есть хорошее объяснение .

Вот полная версия:

  • IE 6-7 поддерживает JScript 5 (что эквивалентно ECMAScript 3, JavaScript 1.5)
  • IE 8 поддерживает JScript 6 (что эквивалентно ECMAScript 3, JavaScript 1.5 - больше исправлений ошибок по сравнению с JScript 5)
  • Firefox 1.0 поддерживает JavaScript 1.5 (эквивалент ECMAScript 3)
  • Firefox 1.5 поддерживает JavaScript 1.6 (1.5 + Array Extras + E4X + разное).
  • Firefox 2.0 поддерживает JavaScript 1.7 (1.6 + Генератор + Итераторы + let + разное).
  • Firefox 3.0 поддерживает JavaScript 1.8 (1.7 + Генератор выражений + Замыкания выражений + прочее).
  • Следующая версия Firefox будет поддерживать JavaScript 1.9 (1.8 + подлежит определению)
  • Opera поддерживает язык, эквивалентный ECMAScript 3 + Getters и Setters + misc.
  • Safari поддерживает язык, эквивалентный ECMAScript 3 + Getters и Setters + misc.

15
Это не верно. JScript поддерживает некоторые функции синтаксиса, отсутствующие в JavaScript, в том числе f(x) = y. См. Этот вопрос для получения дополнительной информации.
Асад Саидуддин

4
@Malachi Мне не нужно. Ответ Патрика правильный.
Асад Саидуддин 02

38

Насколько я могу судить, две вещи:

  1. Конструктор ActiveXObject
  2. Идиома f (x) = y, что примерно эквивалентно f [x] = y.

5
В f(x) = yидиома ошибок меня больше всего! Почему, ну почему они просто не пошли с f[x] = y...
Атес Горал

2
М.С. нужно было добавить свой отпечаток в эту эпоху. Вот откуда ты знаешь, что это хорошо.
cchamberlain

21

Из Википедии: http://en.wikipedia.org/wiki/Jscript

JScript - это диалект Microsoft спецификации языка сценариев ECMAScript.

JavaScript (реализация спецификации ECMA Netscape / Mozilla), JScript и ECMAScript - очень похожие языки. Фактически, название «JavaScript» часто используется для обозначения ECMAScript или JScript.

Microsoft использует название JScript для своей реализации, чтобы избежать проблем с торговыми марками ( JavaScript является торговой маркой Oracle Corporation ).


7
Это вообще не отвечает на вопрос. Возникает вопрос: «В чем разница между JavaScript и JScript». Правильный ответ погребен под несколькими повторениями одного и того же.
Асад Саидуддин

7

JScript - это реализация Microsoft спецификации ECMAScript. JavaScript - это реализация спецификации Mozilla.


7

Язык Javascript появился первым из Netscape.

Корпорация Майкрософт перепроектировала Javascript и назвала его JScript, чтобы избежать проблем с товарным знаком Sun. (В то время Netscape и Sun сотрудничали, так что это не было проблемой)

Языки идентичны, оба являются диалектами сценария ECMA, стандарта постфактум.

Хотя языки идентичны, поскольку JScript работает в Internet Explorer, он имеет доступ к различным объектам, отображаемым браузером (например, ActiveXObject).


10
Как указано в другом посте, оба языка на самом деле не идентичны.
EFraim


4

Согласно этой статье:

  • JavaScript - это язык сценариев, разработанный Netscape Communications для разработки клиентских и серверных Интернет-приложений. Netscape Navigator разработан для интерпретации JavaScript, встроенного в веб-страницы. JavaScript не зависит от языка Java Sun Microsystem.

  • Microsoft JScript - это открытая реализация JavaScript Netscape. JScript - это высокопроизводительный язык сценариев, предназначенный для создания активного онлайн-контента для World Wide Web. JScript позволяет разработчикам связывать и автоматизировать широкий спектр объектов на веб-страницах, включая элементы управления ActiveX и программы Java. Microsoft Internet Explorer разработан для интерпретации JScript, встроенного в веб-страницы.


2
@phrj: это определение Шалтай-Болтая для слова «Открыть». AFAIK, это означает «ортогональный».
Shog9,

7
Если еще в эпоху, предшествовавшую V8, назвать JScript «высокопроизводительным», то можно понять, как далеко мы продвинулись.
Ray Toal

6
Второй пункт списка выглядит как рекламный материал - «открытая реализация» на самом деле означает «вы должны быть непредубежденными, чтобы принять это», а «высокопроизводительный» означает «предназначенный для работы на высокопроизводительной машине».
Камило Мартин

4

Давным-давно все поставщики браузеров создавали движки JavaScript для своих браузеров, и только они и бог знали, что внутри этого происходило. В один прекрасный день приехала международная ассоциация ECMA и сказала: давайте сделаем двигатели на основе общего стандарта, давайте сделаем что-то общее, чтобы сделать жизнь более легкой и увлекательной, и они сделали этот стандарт. Поскольку все поставщики браузеров делают свои движки JavaScript на основе ядра ECMAScript (стандарт).

Например, Google Chrome использует движок V8 с открытым исходным кодом. Вы можете скачать его и посмотреть, как программа на C ++ переводит команду «print» JavaScript в машинный код.

Internet Explorer использует движок JScript (Chakra) для своего браузера, и другие используют его, и все они используют общее ядро.


2

В Википедии есть это , чтобы сказать о различиях.

В общем, JScript - это язык сценариев ActiveX, который, вероятно, интерпретируется как JavaScript браузерами, отличными от IE.


1

Следует помнить о некоторых различиях в коде.

Отрицательный первый параметр для subtr не поддерживается, например, в Javascript: "string".substr(-1)возвращает «g», тогда как в JScript: "string".substr(-1)возвращает «строку».

В "string"[0]Javascript можно получить "s", но JScript не поддерживает такую ​​конструкцию. (На самом деле, только современные браузеры поддерживают эту "string"[0]конструкцию.


-5

Jscript - это язык .NET, похожий на C #, с теми же возможностями и доступом ко всем функциям .NET.

JavaScript выполняется на сервере ASP Classic. Используйте классический ASP для запуска того же JavaScript, что и на клиенте (за исключением возможностей HTML5). У меня есть только один набор кода для большей части моего кода.

Я запускаю .ASPX JScript, когда мне требуются функции изображений и двоичных файлов (среди многих других), которых нет в классическом ASP. Этот код уникален для сервера, но чрезвычайно мощный.


7
Я думаю , что вы думаете о JScript.Net
Lankymart

-7

JScript - это эквивалент JavaScript от Microsoft . Java - это продукт Oracle, который раньше был продуктом Sun.

Oracle купила Sun .

JavaScript + Microsoft = JScript


14
Не бойтесь смелых!
Jowen

Почему именно Java? Вы имели в виду JavaScript.
Stack0verflow

Важное замечание для тех, кто может не знать: JavaScript и Java - это не одно и то же и не связаны между собой. Изначально JavaScript назывался LiveScript. Но переименован в JavaScript, чтобы извлечь выгоду из популярности Java. Совместное использование имени - это степень того, что у них общего, помимо сходства с C-подобными языками синтаксиса.
Бэкон Брэд
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.