Jaka jest różnica między JavaScript a JScript?


117

Zawsze się zastanawiałem, CZYM SIĘ HECK?!? jest różnica między JScript a JavaScript.


Jestem pewien, że zostało to już wskazane, ale IE, nie możesz używać constsłowa kluczowego do deklarowania zmiennych: const MY_CONSTANT = 10;
dplante

Odpowiedzi:


83

Tylko różne nazwy tego, co naprawdę jest ECMAScript. John Resig ma dobre wyjaśnienie .

Oto podział pełnej wersji:

  • IE 6-7 obsługuje JScript 5 (który jest odpowiednikiem ECMAScript 3, JavaScript 1.5)
  • IE 8 obsługuje JScript 6 (który jest odpowiednikiem ECMAScript 3, JavaScript 1.5 - więcej poprawek błędów w porównaniu z JScript 5)
  • Firefox 1.0 obsługuje JavaScript 1.5 (odpowiednik ECMAScript 3)
  • Firefox 1.5 obsługuje JavaScript 1.6 (1.5 + Array Extras + E4X + misc.)
  • Firefox 2.0 obsługuje JavaScript 1.7 (1.6 + Generator + Iteratory + Let + Misc.)
  • Firefox 3.0 obsługuje JavaScript 1.8 (1.7 + Wyrażenia generatora + Zamknięcia wyrażeń + różne)
  • Następna wersja przeglądarki Firefox będzie obsługiwać JavaScript 1.9 (1.8 + do ustalenia)
  • Opera obsługuje język, który jest odpowiednikiem ECMAScript 3 + Getters i Setters + misc.
  • Safari obsługuje język, który jest odpowiednikiem ECMAScript 3 + Getters i Setters + misc.

15
To jest źle. JScript obsługuje niektóre funkcje składni, których nie ma w JavaScript, w tym f(x) = y. Zobacz to pytanie, aby uzyskać więcej informacji.
Asad Saeeduddin

4
@Malachi, nie muszę. Odpowiedź Patricka jest poprawna.
Asad Saeeduddin

38

O ile wiem, dwie rzeczy:

  1. Konstruktor ActiveXObject
  2. Idiom f (x) = y, co jest z grubsza równoważne f [x] = y.

5
Ten f(x) = yidiom wkurza mnie najbardziej! Dlaczego, och, dlaczego nie poszli po prostu z f[x] = y...
Ates Goral,

2
W tej epoce MS musiało dodać swój znaczek. W ten sposób wiesz, że to dobre.
cchamberlain

21

Z Wikipedii: http://en.wikipedia.org/wiki/Jscript

JScript to dialekt Microsoft specyfikacji języka skryptowego ECMAScript.

JavaScript (implementacja specyfikacji ECMA w Netscape / Mozilli), JScript i ECMAScript to bardzo podobne języki. W rzeczywistości nazwa „JavaScript” jest często używana w odniesieniu do ECMAScript lub JScript.

Firma Microsoft używa nazwy JScript do swojej implementacji, aby uniknąć problemów ze znakami towarowymi ( JavaScript jest znakiem towarowym firmy Oracle Corporation ).


7
To wcale nie odpowiada na pytanie. Pytanie brzmi: „Jakie są różnice między JavaScript a JScript”. Poprawną odpowiedzią jest pochowany pod kilkoma reiterations tej samej rzeczy.
Asad Saeeduddin

7

JScript to implementacja specyfikacji ECMAScript firmy Microsoft. JavaScript jest implementacją specyfikacji Mozilli.


7

Javascript, język, pojawił się jako pierwszy, od Netscape.

Firma Microsoft przeprowadziła inżynierię wsteczną Javascript i nazwała go JScript, aby uniknąć problemów ze znakami towarowymi w firmie Sun. (Netscape i Sun były wówczas partnerami, więc był to mniejszy problem)

Języki są identyczne, oba są dialektami pisma ECMA, standardu po fakcie.

Chociaż języki są identyczne, ponieważ JScript działa w przeglądarce Internet Explorer, ma dostęp do różnych obiektów widocznych przez przeglądarkę (takich jak ActiveXObject)


10
Żaden z języków nie jest tak naprawdę identyczny, jak opisano w innym poście.
EFraim


4

Zgodnie z tym artykułem:

  • JavaScript to język skryptowy opracowany przez firmę Netscape Communications, przeznaczony do tworzenia aplikacji internetowych typu klient i serwer. Netscape Navigator jest przeznaczony do interpretowania JavaScript osadzonego na stronach internetowych. JavaScript jest niezależny od języka Java firmy Sun Microsystem.

  • Microsoft JScript to otwarta implementacja JavaScript firmy Netscape. JScript to wysokowydajny język skryptowy przeznaczony do tworzenia aktywnej zawartości online dla sieci WWW. JScript umożliwia programistom łączenie i automatyzację wielu różnych obiektów na stronach internetowych, w tym formantów ActiveX i programów Java. Program Microsoft Internet Explorer jest przeznaczony do interpretowania języka JScript osadzonego na stronach sieci Web.


2
@phrj: to jest definicja „Open” w Humpty Dumpty. AFAIK, to znaczy „ortogonalny”.
Shog9,

7
Nazywanie JScript „wysoką wydajnością” w erze sprzed wersji V8 uświadamia nam, jak daleko zaszliśmy.
Ray Toal

6
Druga pozycja na liście wygląda jak materiał reklamowy - „otwarta implementacja” w rzeczywistości oznacza „musisz mieć otwarty umysł, aby ją zaakceptować”, a „wysoka wydajność” oznacza „przeznaczoną do uruchomienia na maszynie o wysokiej wydajności”.
Camilo Martin

4

Dawno temu wszyscy dostawcy przeglądarek tworzyli silniki JavaScript dla swoich przeglądarek i tylko oni i Bóg wiedzieli, co się w nich dzieje. Pewnego pięknego dnia ECMA International przyszła i powiedziała: stwórzmy silniki w oparciu o wspólny standard, zróbmy coś ogólnego, aby życie było łatwiejsze i przyjemniejsze, a oni stworzyli ten standard. Ponieważ wszyscy dostawcy przeglądarek tworzą swoje silniki JavaScript w oparciu o rdzeń ECMAScript (standard).

Na przykład Google Chrome używa silnika V8 i jest to oprogramowanie typu open source. Możesz go pobrać i zobaczyć, jak program C ++ tłumaczy polecenie „drukuj” JavaScript na kod maszynowy.

Internet Explorer używa silnika JScript (Chakra) w swojej przeglądarce, a inne robią to i wszystkie używają wspólnego rdzenia.


2

Wikipedia ma to do powiedzenia na temat różnic.

Ogólnie JScript jest językiem skryptowym ActiveX, który jest prawdopodobnie interpretowany jako JavaScript przez przeglądarki inne niż IE.


1

Należy pamiętać o pewnych różnicach w kodzie.

Ujemny pierwszy parametr subtr nie jest obsługiwany, np. W Javascript: "string".substr(-1)zwraca „g”, natomiast w JScript: "string".substr(-1)zwraca „string”

Można to zrobić, "string"[0]aby uzyskać "s" w JavaScript, ale JScript nie obsługuje takiej konstrukcji. (W rzeczywistości tylko nowoczesne przeglądarki wydają się wspierać tę "string"[0]konstrukcję.


-5

Jscript to język .NET podobny do C #, z tymi samymi możliwościami i dostępem do wszystkich funkcji .NET.

JavaScript jest uruchamiany na serwerze ASP Classic. Użyj klasycznej ASP, aby uruchomić ten sam JavaScript, który masz na kliencie (z wyłączeniem możliwości HTML5). W ten sposób mam tylko jeden zestaw kodu dla większości mojego kodu.

Uruchamiam .ASPX JScript, gdy potrzebuję funkcji obrazu i pliku binarnego (między innymi), których nie ma w klasycznej ASP. Ten kod jest unikalny dla serwera, ale niezwykle potężny.


7
Myślę, że myślisz o JScript.Net
Lankymart,

-7

JScript to odpowiednik JavaScript firmy Microsoft . Java jest produktem Oracle i była produktem firmy Sun.

Oracle kupił Sun .

JavaScript + Microsoft = JScript


14
Idź spokojnie na śmiałków!
Jowen

Dlaczego Java? Miałeś na myśli JavaScript.
Stack0verflow,

Ważna uwaga dla każdego, kto może nie wiedzieć: JavaScript i Java to nie to samo ani w żaden sposób powiązane. JavaScript pierwotnie nosił nazwę LiveScript. Ale zmieniono nazwę na JavaScript, aby wykorzystać popularność Javy. Dzielenie się nazwą to zakres ich wspólnego, poza podobieństwami z językami składni podobnymi do C.
Bacon Brad,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.