Hướng dẫn why javascript engine is needed - tại sao công cụ javascript là cần thiết

Công cụ JavaScript là một thành phần phần mềm thực thi mã JavaScript. Các động cơ JavaScript đầu tiên chỉ là các phiên dịch viên, nhưng tất cả các động cơ hiện đại có liên quan đều sử dụng biên dịch đúng lúc để cải thiện hiệu suất. [1]JavaScript engine is a software component that executes JavaScript code. The first JavaScript engines were mere interpreters, but all relevant modern engines use just-in-time compilation for improved performance.[1]

Các công cụ JavaScript thường được phát triển bởi các nhà cung cấp trình duyệt web và mọi trình duyệt chính đều có một. Trong một trình duyệt, động cơ JavaScript chạy cùng với động cơ kết xuất thông qua mô hình đối tượng tài liệu.

Việc sử dụng các động cơ JavaScript không giới hạn ở các trình duyệt. Ví dụ, động cơ V8 là một thành phần cốt lõi của các hệ thống thời gian chạy Node.js và Deno.

Vì ECMAScript là đặc điểm kỹ thuật được tiêu chuẩn hóa của JavaScript, ECMAScript Engine là một tên khác cho các công cụ này. Với sự ra đời của Webassugging, một số động cơ cũng có thể thực thi mã này trong cùng một hộp cát với mã JavaScript thông thường.ECMAScript engine is another name for these engines. With the advent of WebAssembly, some engines can also execute this code in the same sandbox as regular JavaScript code.

History[edit][edit]

Động cơ JavaScript đầu tiên được tạo ra bởi Brendan Eich vào năm 1995 cho trình duyệt web NetScape Navigator. Đó là một thông dịch viên thô sơ cho ngôn ngữ non trẻ được phát minh. (Điều này phát triển thành động cơ Spidermonkey, vẫn được sử dụng bởi trình duyệt Firefox.)

Động cơ JavaScript hiện đại đầu tiên là V8, được tạo bởi Google cho trình duyệt Chrome. V8 đã ra mắt như một phần của Chrome năm 2008 và hiệu suất của nó tốt hơn nhiều so với bất kỳ động cơ nào trước đây. [2] [3] Sự đổi mới quan trọng là tổng hợp đúng lúc, có thể cải thiện đáng kể thời gian thực hiện.

Các nhà cung cấp trình duyệt khác cần phải đại tu thông dịch viên của họ để cạnh tranh. [4] Apple đã phát triển động cơ nitro cho trình duyệt Safari, có hiệu suất tốt hơn 30% so với người tiền nhiệm. [5] Mozilla đã tận dụng các phần của Nitro để cải thiện động cơ Spidermonkey của riêng mình. [6]

Kể từ năm 2017, các động cơ này đã thêm hỗ trợ cho WebAssugging. Điều này cho phép sử dụng các tệp thực thi được biên dịch sẵn cho các phần quan trọng hiệu suất của các tập lệnh trang.

Động cơ đáng chú ý [Chỉnh sửa][edit]

  • V8 từ Google là công cụ JavaScript được sử dụng nhiều nhất. Google Chrome và nhiều trình duyệt dựa trên crom khác sử dụng nó, cũng như các ứng dụng được xây dựng với CEF, electron hoặc bất kỳ khung nào khác nhúng crom. Các mục đích sử dụng khác bao gồm các hệ thống thời gian chạy Node.js và Deno.
  • Spidermonkey được Mozilla phát triển để sử dụng trong Firefox và các dĩa của nó. Gnome Shell sử dụng nó để hỗ trợ mở rộng.
  • JavaScriptCore là động cơ của Apple cho trình duyệt Safari. Các trình duyệt dựa trên Webkit khác cũng sử dụng nó. KJS từ KDE là điểm khởi đầu cho sự phát triển của nó. [7]
  • Luân xa là động cơ của trình duyệt Internet Explorer. Nó cũng được Microsoft cho trình duyệt Edge ban đầu, nhưng Edge sau đó đã được xây dựng lại như một trình duyệt dựa trên crom và do đó hiện sử dụng V8. [8] [9]

References[edit][edit]

  1. ^Looper, Jen (2015-09-21). "Hướng dẫn về động cơ JavaScript cho những kẻ ngốc". Mạng lưới nhà phát triển Telerik. Được lưu trữ từ bản gốc vào năm 2018-12-08. Truy cập 2018-12-08. Looper, Jen (2015-09-21). "A Guide to JavaScript Engines for Idiots". Telerik Developer Network. Archived from the original on 2018-12-08. Retrieved 2018-12-08.
  2. ^"Kiểm tra so sánh trình duyệt lớn: Internet Explorer so với Firefox, Opera, Safari và Chrome". Phần cứng trò chơi PC. Computec Media Ag. Truy cập 2010-06-28. "Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and Chrome". PC Games Hardware. Computec Media AG. Retrieved 2010-06-28.
  3. ^"Bài kiểm tra tốc độ LifeHacker: Safari 4, Chrome 2". Lifehacker. Truy cập 2010-06-28. "Lifehacker Speed Tests: Safari 4, Chrome 2". Lifehacker. Retrieved 2010-06-28.
  4. ^"Mozilla hỏi, 'Chúng ta đã nhanh chưa?'". Có dây. Truy cập ngày 18 tháng 1 năm 2019. "Mozilla asks, 'Are we fast yet?'". Wired. Retrieved 18 January 2019.
  5. ^Safari 5 được phát hành Safari 5 Released
  6. ^Shankland, Stephen (2010-03-02). "Opera 10,5 mang đến động cơ JavaScript mới". CNET. CBS tương tác. Truy cập 2012-01-30. Shankland, Stephen (2010-03-02). "Opera 10.5 brings new JavaScript engine". CNET. CBS Interactive. Retrieved 2012-01-30.
  7. ^Stachowiak, Maciej (ngày 9 tháng 11 năm 2008). "Các công ty và tổ chức đã đóng góp cho Webkit". Webkit wiki. Truy cập ngày 13 tháng 4 năm 2019. Stachowiak, Maciej (November 9, 2008). "Companies and Organizations that have contributed to WebKit". WebKit Wiki. Retrieved April 13, 2019.
  8. ^Belfiore, Joe (2020-01-15), Năm mới, Trình duyệt mới-Microsoft Edge mới không được xem trước và hiện có sẵn để tải xuống, Microsoft Belfiore, Joe (2020-01-15), New year, new browser – The new Microsoft Edge is out of preview and now available for download, Microsoft
  9. ^"Microsoft Edge và Chromium Nguồn mở: Ý định của chúng tôi". Đội Microsoft Edge. Ngày 6 tháng 12 năm 2018. Truy cập ngày 8 tháng 12 năm 2018. "Microsoft Edge and Chromium Open Source: Our Intent". Microsoft Edge Team. 6 December 2018. Retrieved 8 December 2018.

Động cơ JavaScript là gì?

Công cụ JavaScript là một chương trình máy tính nguồn mở có trách nhiệm thực thi/chạy JavaScript. Có rất nhiều bước liên quan đến việc thực hiện công cụ JavaScript, nhưng về cơ bản thực hiện mã JavaScript là những gì một công cụ làm. Tất cả các trình duyệt hiện đại có phiên bản riêng của công cụ JavaScript. Nhưng động cơ V8 của Google là động cơ JavaScript phổ biến nhất. & NBSP;

Một công cụ JavaScript cơ bản bao gồm trình biên dịch cơ sở có công việc biên dịch mã nguồn JavaScript thành biểu diễn trung gian (IR) được gọi là mã byte và cung cấp mã byte này cho trình thông dịch. Trình thông dịch lấy mã byte này và chuyển đổi nó thành mã máy, cuối cùng được chạy trên phần cứng máy (CPU).

Các tiêu chuẩn ECMAScript đang được theo sau bởi các động cơ JavaScript để thực thi mã trên trình duyệt. Vai trò của các tiêu chuẩn này là đưa ra một định nghĩa và đặc điểm kỹ thuật cho các công cụ JavaScript về cách chúng nên làm việc và những tính năng nào chúng nên có.

Hướng dẫn why javascript engine is needed - tại sao công cụ javascript là cần thiết

Nguồn: Wynsoftware

Dưới đây là danh sách các động cơ JavaScript cho các trình duyệt Internet chính:

  1. V8 - Công cụ JavaScript được phát triển bởi Google cho Chrome JavaScript Engine developed by Google for Chrome
  2. Spidermonkey - Động cơ JavaScript được sử dụng bởi Mozilla Firefox The JavaScript Engine used by Mozilla Firefox
  3. JavaScriptCore - Được phát triển bởi Apple cho Safari Developed by Apple for Safari
  4. Rhino - Được quản lý bởi Mozilla Foundation cho Firefox Managed by Mozilla Foundation for Firefox
  5. Luân xa - Một động cơ JavaScript cho Microsoft Edge A JavaScript Engine for Microsoft Edge
  6. Jerryscript - Một công cụ JavaScript được sử dụng cho Internet of Things (IoT). A JavaScript Engine employed for the Internet of Things (IoT).

Dưới đây là danh sách các động cơ JavaScript cho các trình duyệt Internet chính:

Hướng dẫn why javascript engine is needed - tại sao công cụ javascript là cần thiết

V8 - Công cụ JavaScript được phát triển bởi Google cho Chrome

Dưới đây là danh sách các động cơ JavaScript cho các trình duyệt Internet chính:

V8 - Công cụ JavaScript được phát triển bởi Google cho Chrome

Spidermonkey - Động cơ JavaScript được sử dụng bởi Mozilla Firefox

JavaScriptCore - Được phát triển bởi Apple cho Safari

Rhino - Được quản lý bởi Mozilla Foundation cho Firefox

Dưới đây là danh sách các động cơ JavaScript cho các trình duyệt Internet chính:

Hướng dẫn why javascript engine is needed - tại sao công cụ javascript là cần thiết

Dưới đây là danh sách các động cơ JavaScript cho các trình duyệt Internet chính:

V8 - Công cụ JavaScript được phát triển bởi Google cho Chrome

Spidermonkey - Động cơ JavaScript được sử dụng bởi Mozilla Firefox

JavaScriptCore - Được phát triển bởi Apple cho Safari

Rhino - Được quản lý bởi Mozilla Foundation cho Firefox

Luân xa - Một động cơ JavaScript cho Microsoft Edge

Jerryscript - Một công cụ JavaScript được sử dụng cho Internet of Things (IoT).

Các thành phần của động cơ JavaScript là gì?

Nguồn: Trung bình

Động cơ bao gồm hai yếu tố chính:

Bộ nhớ đống

Heap là một cấu trúc dữ liệu không cấu trúc lớn lưu trữ tất cả các dữ liệu động như định nghĩa chức năng, đối tượng, mảng, v.v ... Bộ nhớ là nơi phân bổ bộ nhớ xảy ra, đó là một vị trí trong bộ nhớ nơi bộ nhớ có thể được phân bổ khi truy cập ngẫu nhiên. Các yếu tố dữ liệu riêng lẻ được phân phối trên đống thường được phát hành theo những cách không đồng bộ với nhau. Bộ nhớ bị chiếm trong đống tiếp tục tồn tại ngay cả sau khi thực thi mã JavaScript đã được hoàn thành và sau đó được loại bỏ bởi bộ thu gom rác JavaScript nếu cần.

JavaScript được tối ưu hóa như thế nào?

Có nhiều biện pháp khác nhau để tối ưu hóa mã JavaScript. Ví dụ, trước khi mã JavaScript được đẩy đến trình thông dịch hoặc trình biên dịch cơ sở, nó phải được phân tích cú pháp vào một cây cú pháp trừu tượng (AST). & NBSP;

Trong khi chạy ứng dụng JavaScript, chúng tôi không cần tất cả mã tại thời điểm khởi động ứng dụng. Chẳng hạn, nếu chúng ta có một chức năng được trình bày trên hành động của người dùng, như nhấp vào nút, mã đó có thể được phân tích cú pháp sau đó. Xác định đầu vào và những thứ cần được phân tích cú pháp về mức độ ưu tiên và mã máy là chiến lược tốt nhất cho ứng dụng bootstrap nhanh hơn. Một cách khác để tối ưu hóa JavaScript là phân tích mã và chỉ đơn giản là logic phức tạp có thể giúp xử lý tốt hơn và thời gian chạy nhanh. & NBSP;

Việc thiếu các phương thức loại trong JavaScript là những gì làm cho động cơ JavaScript tạo ra mã máy ít được tối ưu hóa hơn. Do đó, dựa trên các giá trị đã được xác định, một công cụ JavaScript có thể suy đoán về các loại dữ liệu của các biến và tạo mã máy tốt hơn.

Chúng ta hãy lấy một ví dụ về vòng lặp không kiểm soát, một vòng 'cho' để tăng số nguyên có thể được in bằng cách sử dụng số lần '+' 'hoạt động' n 'để tối ưu hóa tập lệnh. Tối ưu hóa tương tự có thể đạt được bằng cách sử dụng các chức năng nội tuyến. & NBSP;

Công cụ JavaScript cũng có thể thu thập dữ liệu định hình về thực thi mã và tìm kiếm mã chạy chậm hơn hoặc bị tụt hậu vì một số lý do. Khắc phục mã "nóng" thực sự quan trọng vì nó đốt CPU và làm chậm hệ thống. Các mã chậm này có thể được tối ưu hóa và thay thế bằng mã máy được tối ưu hóa để thực hiện trơn tru và chạy mã.

Thời gian chạy JavaScript là gì?

So với các ngôn ngữ lập trình khác, chức năng của JavaScript khác với phần còn lại. JavaScript là một ngôn ngữ đơn luồng có nghĩa là việc thực thi mã sẽ được thực hiện một phần tại một thời điểm. & NBSP;

Vì lý do thực thi mã được thực hiện tuần tự, bất kỳ mã nào mất nhiều thời gian để thực thi sẽ chặn bất cứ điều gì cần được thực thi sau đó và sẽ kéo dài thời gian xử lý. Do đó, đôi khi bạn sẽ quan sát một thanh nhỏ cho thấy tiến trình bên dưới màn hình trong khi sử dụng Google Chrome.

Khi người dùng truy cập một trang web trên trình duyệt của họ, nó sẽ kích hoạt một luồng thực thi duy nhất, đó là JavaScript. Chủ đề duy nhất đó chịu trách nhiệm xử lý mọi thứ như cuộn các trang web, in một cái gì đó trên trang web, nghe các sự kiện DOM, v.v. Khi kết quả xuất hiện trên màn hình, việc thực hiện các điểm dừng của JavaScript và trình duyệt sẽ tự động ngừng thực hiện các tác vụ đó trong thời điểm hiện tại. Việc thực hiện chủ đề sẽ dừng hoặc đóng băng và sẽ bị đình trệ cho đến khi hoàn thành nhiệm vụ.

Mục đích của động cơ JavaScript là gì?

Công cụ JavaScript là một thành phần phần mềm thực thi mã JavaScript. Các động cơ JavaScript đầu tiên chỉ là các phiên dịch viên, nhưng tất cả các động cơ hiện đại có liên quan đều sử dụng biên dịch đúng lúc để cải thiện hiệu suất. Các công cụ JavaScript thường được phát triển bởi các nhà cung cấp trình duyệt web và mọi trình duyệt chính đều có một.executes JavaScript code. The first JavaScript engines were mere interpreters, but all relevant modern engines use just-in-time compilation for improved performance. JavaScript engines are typically developed by web browser vendors, and every major browser has one.

Tại sao JavaScript là cần thiết?

JS làm cho thiết kế đáp ứng dễ dàng hơn.JavaScript đã trở thành không thể thiếu đối với trải nghiệm internet khi các nhà phát triển xây dựng sự tương tác và phức tạp tăng lên vào các ứng dụng của họ.Công cụ tìm kiếm, Thương mại điện tử, Hệ thống quản lý nội dung, thiết kế đáp ứng, phương tiện truyền thông xã hội và ứng dụng điện thoại sẽ không thể thực hiện được nếu không có nó.makes responsive design easier. JavaScript has become integral to the Internet experience as developers build increased interaction and complexity into their applications. Search engines, ecommerce, content management systems, responsive design, social media and phone apps would not be possible without it.

Công cụ JavaScript là gì và nó hoạt động như thế nào?

Một công cụ JavaScript thường bao gồm một trình biên dịch cơ sở hoạt động trên việc biên dịch mã dưới dạng mã biểu diễn trung gian (IR) /byte và sau đó chuyển mã byte cho trình thông dịch.consists of a baseline compiler that works on the compilation of the code in the form of intermediate representation (IR) /byte code and then passes the byte code to the interpreter.

Tại sao JavaScript Engine là cần thiết * 1 điểm cả biên dịch và diễn giải JavaScript phân tích cú pháp JavaScript biên dịch JavaScript diễn giải JavaScript?

Tại sao cần phải có động cơ JavaScript?Giải thích: Phần lớn, động cơ JS được sử dụng để giải thích JavaScript.Nó được sử dụng để phân tích JavaScript và chạy nó trên một trang web.to interpret JavaScript. It's used to parse javascript and run it on a web page.