Sự khác biệt giữa JavaScript và JScript là gì?


117

Tôi đã luôn tự hỏi WHAT the HecK?!? là sự khác biệt giữa JScript và JavaScript.


Tôi chắc chắn rằng nó đã được chỉ ra, nhưng IE, bạn không thể sử dụng consttừ khóa để khai báo các biến: const MY_CONSTANT = 10;
dplante

Câu trả lời:


82

Chỉ cần tên khác nhau cho những gì thực sự là ECMAScript. John Resig có một lời giải thích tốt .

Đây là sự cố phiên bản đầy đủ:

  • IE 6-7 hỗ trợ JScript 5 (tương đương với ECMAScript 3, JavaScript 1.5)
  • IE 8 hỗ trợ JScript 6 (tương đương với ECMAScript 3, JavaScript 1.5 - sửa nhiều lỗi hơn JScript 5)
  • Firefox 1.0 hỗ trợ JavaScript 1.5 (tương đương ECMAScript 3)
  • Firefox 1.5 hỗ trợ JavaScript 1.6 (1.5 + Array Extras + E4X + misc.)
  • Firefox 2.0 hỗ trợ JavaScript 1.7 (1.6 + Trình tạo + Trình lặp + let + misc.)
  • Firefox 3.0 hỗ trợ JavaScript 1.8 (1.7 + Biểu thức trình tạo + Đóng biểu thức + misc.)
  • Phiên bản tiếp theo của Firefox sẽ hỗ trợ JavaScript 1.9 (Xác định 1.8 +)
  • Opera hỗ trợ một ngôn ngữ tương đương với ECMAScript 3 + Getters và Setters + misc.
  • Safari hỗ trợ một ngôn ngữ tương đương với ECMAScript 3 + Getters và Setters + misc.

15
Cái này sai. JScript hỗ trợ một số tính năng cú pháp không có trong JavaScript, bao gồm f(x) = y. Xem câu hỏi này để biết thêm.
Asad Saeeduddin

4
@Malachi tôi không cần. Câu trả lời của Patrick là chính xác.
Asad Saeeduddin

38

Theo như tôi có thể nói, hai điều:

  1. Trình xây dựng ActiveXObject
  2. Thành ngữ f (x) = y, gần tương đương với f [x] = y.

5
Thành f(x) = yngữ lỗi tôi nhiều nhất! Tại sao, ồ tại sao họ không đi cùng f[x] = y...
Ates Goral

2
MS cần thêm dấu ấn của họ trong thời đại này. Đó là cách bạn biết nó tốt.
cchamberlain

21

Từ Wikipedia: http://en.wikipedia.org/wiki/Jscript

JScript là phương ngữ của Microsoft về đặc tả ngôn ngữ kịch bản lệnh ECMAScript.

JavaScript (triển khai Netscape / Mozilla của đặc tả ECMA), JScript và ECMAScript là các ngôn ngữ rất giống nhau. Trong thực tế, tên "JavaScript" thường được sử dụng để chỉ ECMAScript hoặc JScript.

Microsoft sử dụng tên JScript để triển khai để tránh các vấn đề về nhãn hiệu ( JavaScript là nhãn hiệu của Tập đoàn Oracle ).


7
Điều này không trả lời câu hỏi nào cả. Câu hỏi là: "Sự khác biệt giữa JavaScript và JScript là gì". Các câu trả lời đúng được chôn dưới một vài reiterations trong những điều tương tự.
Asad Saeeduddin

7

JScript là triển khai của Microsoft về đặc tả ECMAScript. JavaScript là triển khai Mozilla của đặc tả.


7

Javascript, ngôn ngữ, xuất hiện đầu tiên, từ Netscape.

Microsoft đã thiết kế lại Javascript và gọi nó là JScript để tránh các vấn đề về nhãn hiệu với Sun. (Netscape và Sun đã hợp tác vào thời điểm đó, vì vậy đây không phải là vấn đề)

Các ngôn ngữ giống hệt nhau, cả hai đều là phương ngữ của tập lệnh ECMA, tiêu chuẩn thực tế.

Mặc dù các ngôn ngữ giống hệt nhau, vì JScript chạy trong Internet Explorer, nó có quyền truy cập vào các đối tượng khác nhau được trình duyệt hiển thị (chẳng hạn như ActiveXObject)


10
Cả hai ngôn ngữ đều không giống nhau, như được nêu trong một bài khác.
EFraim


4

Theo này Bài chi tiết:

  • JavaScript là ngôn ngữ kịch bản được phát triển bởi Netscape Communications được thiết kế để phát triển ứng dụng Internet của máy khách và máy chủ. Netscape Navigator được thiết kế để giải thích JavaScript được nhúng vào các trang Web. JavaScript độc lập với ngôn ngữ Java của Sun microsystem.

  • Microsoft JScript là một triển khai mở của JavaScript của Netscape. JScript là ngôn ngữ kịch bản hiệu năng cao được thiết kế để tạo nội dung trực tuyến đang hoạt động cho World Wide Web. JScript cho phép các nhà phát triển liên kết và tự động hóa nhiều đối tượng khác nhau trong các trang Web, bao gồm các điều khiển ActiveX và các chương trình Java. Microsoft Internet Explorer được thiết kế để giải thích JScript được nhúng vào các trang Web.


2
@phrj: đây là định nghĩa Humpty Dumpty của "Mở". AFAIK, nó có nghĩa là "trực giao".
Shog9

7
Gọi JScript là "hiệu suất cao" trở lại trong thời kỳ tiền V8 khiến người ta nhận ra chúng ta đã đi được bao xa.
Ray Toal

6
Mục danh sách thứ hai trông giống như tài liệu quảng cáo - "triển khai mở" thực sự có nghĩa là "bạn phải có tư duy cởi mở để chấp nhận nó" và "hiệu suất cao" có nghĩa là "được chạy trên một máy hiệu suất cao".
Camilo Martin

4

Từ lâu, tất cả các nhà cung cấp trình duyệt đã tạo ra các công cụ JavaScript cho trình duyệt của họ và chỉ có họ và chúa mới biết những gì đang xảy ra bên trong này. Một ngày đẹp trời, ECMA quốc tế đến và nói: hãy tạo ra các động cơ dựa trên tiêu chuẩn chung, hãy tạo ra một cái gì đó chung chung để làm cho cuộc sống dễ dàng và vui vẻ hơn, và họ đã tạo ra tiêu chuẩn đó. Vì tất cả các nhà cung cấp trình duyệt tạo các công cụ JavaScript của họ dựa trên lõi ECMAScript (tiêu chuẩn).

Ví dụ: Google Chrome sử dụng công cụ V8 và đây là nguồn mở. Bạn có thể tải xuống và xem cách chương trình C ++ dịch lệnh 'in' JavaScript sang mã máy.

Internet Explorer sử dụng công cụ JScript (Chakra) cho trình duyệt của họ và những người khác làm như vậy và tất cả họ đều sử dụng lõi chung.


2

Wikipedia có điều này để nói về sự khác biệt.

Nói chung, JScript là một ngôn ngữ kịch bản lệnh ActiveX có thể được hiểu là JavaScript bởi các trình duyệt không phải IE.


1

Có một số khác biệt về mã cần lưu ý.

Tham số đầu tiên phủ định cho subtr không được hỗ trợ, ví dụ: trong Javascript: "string".substr(-1)trả về "g", trong khi trong JScript: "string".substr(-1)trả về "chuỗi"

Có thể thực hiện "string"[0]để có "s" trong Javascript, nhưng JScript không hỗ trợ cấu trúc như vậy. (Trên thực tế, chỉ có các trình duyệt hiện đại xuất hiện để hỗ trợ "string"[0]xây dựng.


-5

Jscript là ngôn ngữ .NET tương tự C #, có cùng khả năng và quyền truy cập vào tất cả các chức năng .NET.

JavaScript được chạy trên máy chủ ASP Classic. Sử dụng ASP cổ điển để chạy cùng mã JavaScript mà bạn có trên Máy khách (không bao gồm các khả năng HTML5). Tôi chỉ có một bộ mã theo cách này cho hầu hết các mã của tôi.

Tôi chạy .ASPX JScript khi tôi yêu cầu các chức năng Tệp hình ảnh và tệp nhị phân, (trong số nhiều thứ khác) không có trong Classic ASP. Mã này là duy nhất cho máy chủ, nhưng vô cùng mạnh mẽ.


7
Tôi nghĩ rằng bạn đang nghĩ về JScript.Net
Lankymart

-7

JScriptMicrosoft 's tương đương với JavaScript .
Java là một sản phẩm của Oracle và từng là một sản phẩm của Sun.

Oracle mua Sun .

JavaScript + Microsoft = JScript


14
Đi dễ dàng trên táo bạo!
Jowen

Tại sao lại là Java? Ý bạn là JavaScript.
Stack0verflow

Một lưu ý quan trọng cho bất kỳ ai có thể không biết: JavaScript và Java không giống nhau hoặc liên quan theo bất kỳ cách nào. JavaScript ban đầu được gọi là LiveScript. Nhưng đổi tên thành JavaScript để tận dụng sự phổ biến của Java. Chia sẻ tên là mức độ của những gì họ có chung ngoài những điểm tương đồng với ngôn ngữ cú pháp C.
Bacon Brad
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.