Làm cách nào để biết tôi đang sử dụng phiên bản Javascript nào?


98

Tôi chỉ đang đọc tài liệu này về Javascript 1.2, nhưng tôi đang tự hỏi phiên bản Javascript nào đang được sử dụng trong các trình duyệt phổ biến nhất.

http://www.tutorialspoint.com/javascript/javascript_nested_functions.htm


Câu trả lời:


42

Wikipedia (hay nói đúng hơn là cộng đồng trên Wikipedia) giữ một danh sách cập nhật khá tốt ở đây .

  • Hầu hết các trình duyệt đều trên 1.5 (mặc dù chúng có các tính năng của phiên bản mới hơn)
  • Mozilla tiến bộ với mọi bản phát hành chấm (họ duy trì tiêu chuẩn nên không có gì đáng ngạc nhiên)
  • Firefox 4 chạy trên JavaScript 1.8.5
  • Một con đường lớn khác là IE9 - nó triển khai ECMAScript 5, nhưng không triển khai tất cả các tính năng của JavaScript 1.8.5 (không chắc họ đang gọi phiên bản này của JScript, công cụ có tên mã là Chakra , chưa ).

3
Firefox 4 (JavaScript (TM) 1.8.5) và IE9 (JScript 9) triển khai rất nhiều tính năng của ECMAScript 5 , nhưng hãy xem xét ví dụ JavaScript (TM) 1.8 , có đầy đủ các tính năng không chuẩn , không có sẵn trên IE9 (và chúng không phải là một phần của thông số kỹ thuật ES5.), chúng là phần mở rộng của Mozilla .
CMS

@CMS - điểm xuất sắc về các bit mà nó không triển khai, đã cố gắng cải thiện ở trên vì điều này đã nổi lên hàng đầu.
Nick Craver

2
Cảm ơn, IMO là điểm quan trọng cần nhấn mạnh rằng JScript! == JavaScript (TM) và số phiên bản JS của Mozilla gần như vô nghĩa đối với các triển khai khác ...
CMS

1
Đối với những gì nó đáng giá, có vẻ như "danh sách cập nhật khá tốt" của Wikipedia đã ngừng hoạt động vào khoảng thời gian mà câu trả lời này được cung cấp. Nó không dường như đã được cập nhật kể từ ~ 2010 ...
NetXpert

82

Nhấp vào liên kết này để xem phiên bản BROWSER của bạn đang sử dụng: http://jsfiddle.net/Ac6CT/

Bạn sẽ có thể lọc bằng cách sử dụng các thẻ script cho mỗi phiên bản JS.

<script type="text/javascript">
  var jsver = 1.0;
</script>
<script language="Javascript1.1">
  jsver = 1.1;
</script>
<script language="Javascript1.2">
  jsver = 1.2;
</script>
<script language="Javascript1.3">
  jsver = 1.3;
</script>
<script language="Javascript1.4">
  jsver = 1.4;
</script>
<script language="Javascript1.5">
  jsver = 1.5;
</script>
<script language="Javascript1.6">
  jsver = 1.6;
</script>
<script language="Javascript1.7">
  jsver = 1.7;
</script>
<script language="Javascript1.8">
  jsver = 1.8;
</script>
<script language="Javascript1.9">
  jsver = 1.9;
</script>

<script type="text/javascript">
  alert(jsver);
</script>

Báo cáo Chrome của tôi 1.7

Bị đánh cắp trắng trợn từ: http://javascript.about.com/library/bljver.htm


5
Điều gì về các bản phát hành nhỏ? ví dụ 1.8.1, 1.8.2, 1.8.3 ... bạn thấy điều này sẽ trở nên tẻ nhạt như thế nào.
Nick Craver

12
Bạn sẽ tốt hơn nếu sử dụng tính năng phát hiện.
jwueller

2
1.8.1, chẳng hạn như JSONhỗ trợ gốc được bổ sung , 1.8.5 là tuân thủ ECMAScript 5 ... đây là những cột mốc quan trọng :)
Nick Craver

3
Vì vậy, điều này cho tôi biết Chrome là 1.7, nhưng có hỗ trợ JSON gốc. Có thể câu trả lời đúng cho câu hỏi này là phiên bản javascript trong trình duyệt không nhất thiết phải chỉ ra nhiều thông tin hữu ích.
Alex Wayne

1
Mozilla hỗ trợ javascript đến phiên bản 1.8 nhưng cú pháp thì khác:<script type="application/javascript;version=1.7"/>
Yukulélé

17

Trong chrome, bạn có thể dễ dàng tìm thấy không chỉ phiên bản JS của mình mà còn cả phiên bản flash. Tất cả những gì bạn cần là nhập chrome://version/một dòng lệnh và bạn sẽ nhận được một thứ như sau:

nhập mô tả hình ảnh ở đây


9
ha ha! Đó không phải là phiên bản JS mà là số phiên bản cho Động cơ V8. Ngoài ra, hôm nay, vào năm 2015, họ đã chuyển sang Blink làm động cơ lựa chọn của họ
Christian M. Raymonds

@ ChristianM.Raymonds vậy tại sao chrome v của tôi 46.0.2490.86vào tháng 11 năm 2015 vẫn hiển thị V8 4.6.85.31?
Salvador Dali,

@Savador Dali OP đang hỏi về phiên bản JS - hãy đọc Phiên bản ngôn ngữ JavaScript được hiểu bởi engine chứ không phải phiên bản của engine. Bất kỳ thứ gì lớn hơn Chrome 28 đều sử dụng Blink. Hãy làm nghiên cứu của bạn.
Christian M. Raymonds

1
@ SalvadorDali- Đó là phiên bản của động cơ V8 (một công cụ Javascript) và KHÔNG phải phiên bản Javascript.
nanosoft

4
@ ChristianM.Raymonds - Blink và V8 là hai thứ rất khác nhau. V8 là công cụ JS và Blink là công cụ web và Chrome sử dụng cả hai. Chúng là hai Động cơ riêng biệt cho hai thứ rất khác nhau và việc sử dụng một Công cụ này không loại trừ lẫn nhau theo bất kỳ cách nào.
nanosoft

6

Thay vì tìm kiếm phiên bản bạn đang sử dụng, bạn có thể diễn đạt lại câu hỏi của mình thành "phiên bản tập lệnh ECMA nào mà công cụ JavaScript / JSscript của trình duyệt của tôi tuân theo".

Đối với IE:

alert(@_jscript_version);      //IE

Tham khảo câu trả lời của Squeegy cho các phiên bản không phải IE :)


3
Squeegy có thay đổi tên người dùng hoặc xóa câu trả lời của họ không? Không có câu trả lời nào ở đây từ người dùng có tên Squeegy.
Peter Hansen

@PeterHansen: Rất tiếc, lẽ ra phải liên kết với câu trả lời :)
Robin Maben

và các trình duyệt chỉ làm điều đó một phần, bạn có thể thấy 97% ES6, 39% ES7, kangax.github.io/compat-table/es6 và thậm chí những bảng này không hoàn toàn đúng.
prosti

Điều này chỉ hoạt động nếu Conditional Compilationđược bật On, như vậy có thể không hoạt động 100% nếu bạn có sysadmin rằng tin vào "bánh mì crumb" an ninh
GoldBishop

1

Tất cả các trình duyệt ngày nay đều sử dụng ít nhất phiên bản 1.5:
http://en.wikipedia.org/wiki/ECMAScript#Dialect

Liên quan đến trang web hướng dẫn của bạn, thông tin ở đó có vẻ rất lỗi thời , tôi đề nghị bạn truy cập MDC và đọc Hướng dẫn của họ:
https://developer.mozilla.org/en/JavaScript/Guide

Bạn vẫn có thể muốn đề phòng các tính năng yêu cầu phiên bản 1.6trở lên, vì điều này có thể gây ra một số rắc rối cho Internet Explorer.


"Trình duyệt của bạn đã lỗi thời. Vui lòng cập nhật lên trình duyệt mới." ... Danh sách các trình duyệt ở đây ...
1,21 GW

0

JavaScript 1.2 được giới thiệu với Netscape Navigator 4 vào năm 1997. Số phiên bản đó chỉ có ý nghĩa đối với các trình duyệt Netscape. Ví dụ, phần triển khai của Microsoft (như được sử dụng trong Internet Explorer) được gọi là JScript và có cách đánh số phiên bản riêng không liên quan đến việc đánh số của Netscape.

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.