Hướng dẫn why javascript is a scripting language? - tại sao javascript là một ngôn ngữ kịch bản?

Cập nhật cho năm 2017

"Ngôn ngữ kịch bản rất giống với sự tục tĩu. Tôi không thể định nghĩa nó, nhưng tôi sẽ biết nó khi tôi nhìn thấy nó." - Bức tường Larry

Đối với mục đích của câu trả lời này, hãy giả sử nó có nghĩa là một ngôn ngữ:

  1. Thiếu một số tính năng của ngôn ngữ "thực" (bất kể điều đó có nghĩa là gì) vì vậy là hữu ích nhất là "keo" giữa các thành phần khác trong hệ thống và
  2. được giải thích hơn là biên soạn.

JavaScript thực sự tại một thời điểm được coi là một ngôn ngữ kịch bản, với các tính năng cơ bản để thao túng DOM, thực hiện xác thực hình thức và làm cho Chúa Giêsu nhảy múa. Nó được thực hiện trực tiếp từ nguồn bởi một thông dịch viên.

Nhưng JS đã trưởng thành đáng kể trong vài năm qua, với các tính năng nâng cao như Lambdas, các lớp học (tốt hơn hoặc xấu hơn), phá hủy, trình lặp và mô -đun mang lại khả năng của nó ngang bằng với hầu hết các ngôn ngữ hiện đại khác. Không còn giới hạn trong trình duyệt, liệu nó cũng thường được tìm thấy chạy độc lập trên máy chủ dưới NodeJS.

JavaScript hiện được biên dịch toàn cầu, có thể được biên dịch byte (như Java và C#) hoặc trực tiếp với mã máy (như C và C ++). Và các động cơ hiện đại cung cấp một giai đoạn tối ưu hóa, tương tự như hầu hết các ngôn ngữ được biên dịch truyền thống.

V8 (Chrome, Node)

V8 biên dịch JavaScript trực tiếp vào mã máy gốc trước khi thực thi nó.

Mã luân xa (cạnh)

Luân xa lõi [có thể] làm tổng hợp jit song song ...

Spidermonkey (Firefox)

Spidermonkey 38 bao gồm Trình biên dịch chỉ trong thời gian (JIT) biên dịch JavaScript với mã máy ...

Do đó, nếu JS hiện đại được coi là ngôn ngữ kịch bản thì điều tương tự cũng sẽ áp dụng cho hầu hết các ngôn ngữ "kịch bản" khác.

JavaScript là gì?

JavaScript (thường được rút ngắn thành JS) là ngôn ngữ nhẹ, được giải thích, hướng đối tượng với các hàm hạng nhất và được biết đến như là ngôn ngữ kịch bản cho các trang web, nhưng nó cũng được sử dụng trong nhiều môi trường không trình duyệt. Đây là một ngôn ngữ kịch bản dựa trên nguyên mẫu, đa Paradigm, động và hỗ trợ các phong cách lập trình định hướng đối tượng, bắt buộc và chức năng. (often shortened to JS) is a lightweight, interpreted, object-oriented language with first-class functions, and is best known as the scripting language for Web pages, but it's used in many non-browser environments as well. It is a prototype-based, multi-paradigm scripting language that is dynamic, and supports object-oriented, imperative, and functional programming styles.

JavaScript chạy ở phía máy khách của web, có thể được sử dụng để thiết kế / lập trình cách các trang web hoạt động khi xảy ra sự kiện. JavaScript là một ngôn ngữ kịch bản dễ học và cũng mạnh mẽ, được sử dụng rộng rãi để kiểm soát hành vi trang web.

Trái với quan niệm sai lầm phổ biến, JavaScript không phải là "giải thích Java". Tóm lại, JavaScript là một ngôn ngữ kịch bản động hỗ trợ xây dựng đối tượng dựa trên nguyên mẫu. Cú pháp cơ bản có chủ ý tương tự như cả Java và C ++ để giảm số lượng khái niệm mới cần thiết để học ngôn ngữ. Các cấu trúc ngôn ngữ, chẳng hạn như các câu lệnh if, các vòng forwhile và các khối switchtry ... catch có chức năng giống như trong các ngôn ngữ này (hoặc gần như vậy).JavaScript is not "Interpreted Java". In a nutshell, JavaScript is a dynamic scripting language supporting prototype based object construction. The basic syntax is intentionally similar to both Java and C++ to reduce the number of new concepts required to learn the language. Language constructs, such as if statements, for and while loops, and switch and try ... catch blocks function the same as in these languages (or nearly so).

JavaScript có thể hoạt động như một ngôn ngữ theo quy trình và đối tượng. Các đối tượng được tạo theo chương trình trong JavaScript, bằng cách gắn các phương thức và thuộc tính vào các đối tượng trống trong thời gian chạy, trái ngược với các định nghĩa lớp cú pháp phổ biến trong các ngôn ngữ được biên dịch như C ++ và Java. Khi một đối tượng đã được xây dựng, nó có thể được sử dụng như một bản thiết kế (hoặc nguyên mẫu) để tạo các đối tượng tương tự.at run time, as opposed to the syntactic class definitions common in compiled languages like C++ and Java. Once an object has been constructed it can be used as a blueprint (or prototype) for creating similar objects.

Khả năng động của JavaScript bao gồm xây dựng đối tượng thời gian chạy, danh sách tham số biến, biến chức năng, tạo tập lệnh động (thông qua eval), hướng nội đối tượng (thông qua for ... in) và khôi phục mã nguồn (chương trình JavaScript có thể phân hủy các cơ quan chức năng trở lại văn bản nguồn của họ).

Để thảo luận sâu hơn về lập trình JavaScript, hãy theo các liên kết tài nguyên JavaScript bên dưới.

Những triển khai JavaScript nào có sẵn?

Dự án Mozilla cung cấp hai triển khai JavaScript. JavaScript đầu tiên được tạo ra bởi Brendan Eich tại Netscape, và từ đó đã được cập nhật để phù hợp với phiên bản ECMA-262 và các phiên bản sau đó. Động cơ này, mã có tên Spidermonkey, được triển khai trong C/C ++. Động cơ Rhino, được tạo ra chủ yếu bởi Norris Boyd (cũng tại Netscape) là một triển khai JavaScript được viết bằng Java. Giống như Spidermonkey, Rhino là ECMA-262 Tuân thủ phiên bản 5.ever JavaScript was created by Brendan Eich at Netscape, and has since been updated to conform to ECMA-262 Edition 5 and later versions. This engine, code named SpiderMonkey, is implemented in C/C++. The Rhino engine, created primarily by Norris Boyd (also at Netscape) is a JavaScript implementation written in Java. Like SpiderMonkey, Rhino is ECMA-262 Edition 5 compliant.

Một số tối ưu hóa thời gian chạy lớn như Tracemonkey (Firefox 3.5), Jägermonkey (Firefox 4) và Ionmonkey đã được thêm vào động cơ Spidermonkey JavaScript theo thời gian. Công việc luôn luôn tiếp tục để cải thiện hiệu suất thực hiện JavaScript.

Bên cạnh các triển khai ở trên, còn có các động cơ JavaScript phổ biến khác như:-

  • V8 của Google, được sử dụng trong trình duyệt Google Chrome và các phiên bản gần đây của trình duyệt Opera. Đây cũng là động cơ được sử dụng bởi Node.js.
  • JavaScriptCore (Squirrelfish/Nitro) được sử dụng trong một số trình duyệt WebKit như Apple Safari.
  • Carakan trong các phiên bản cũ của Opera.
  • Động cơ Luân xa được sử dụng trong Internet Explorer (mặc dù ngôn ngữ mà nó thực hiện được chính thức gọi là "JScript" để tránh các vấn đề về nhãn hiệu).

Mỗi động cơ JavaScript của Mozilla hiển thị API công khai mà các nhà phát triển ứng dụng có thể sử dụng để tích hợp JavaScript vào phần mềm của họ. Cho đến nay, môi trường máy chủ phổ biến nhất cho JavaScript là trình duyệt web. Các trình duyệt web thường sử dụng API công khai để tạo các đối tượng máy chủ chịu trách nhiệm phản ánh DOM vào JavaScript.host objects responsible for reflecting the DOM into JavaScript.

Một ứng dụng phổ biến khác cho JavaScript là một ngôn ngữ kịch bản phía máy chủ (web). Một máy chủ web JavaScript sẽ hiển thị các đối tượng máy chủ đại diện cho một yêu cầu HTTP và các đối tượng phản hồi, sau đó có thể được thao tác bởi một chương trình JavaScript để tạo động các trang web. Node.js là một ví dụ phổ biến về điều này.

Tài nguyên JavaScript

  • Tổng quan về JavaScript Technologies: Con trỏ đến các tiêu chuẩn JavaScript được xuất bản và các tài nguyên liên quan.
  • Tổng quan về ngôn ngữ JavaScript: Tổng quan về các tính năng và cú pháp ngôn ngữ JavaScript khác nhau, được thiết kế cho những người quen thuộc với các ngôn ngữ lập trình khác.
  • Hướng dẫn JavaScript và tham khảo JavaScript.

JavaScript® là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle ở Hoa Kỳ và các quốc gia khác.

JavaScript là một ngôn ngữ kịch bản như thế nào?

Đây là một ngôn ngữ kịch bản dựa trên nguyên mẫu, đa Paradigm, động và hỗ trợ các phong cách lập trình định hướng đối tượng, bắt buộc và chức năng. JavaScript chạy ở phía máy khách của web, có thể được sử dụng để thiết kế / lập trình cách các trang web hoạt động khi xảy ra sự kiện.. JavaScript runs on the client side of the web, which can be used to design / program how the web pages behave on the occurrence of an event.

Tại sao chúng tôi gọi JavaScript là một kịch bản?

Ý tưởng về một ngôn ngữ kịch bản là một ngôn ngữ hướng dẫn một máy chủ thực hiện một loạt các hành động (giống như một diễn viên đọc từ một kịch bản). JavaScript nói với trình duyệt những gì cần làm và cách xử lý mọi thứ giống như cách mà tập lệnh shell, PHP hoặc bất kỳ ngôn ngữ kịch bản nào khác làm cho máy chủ tương ứng của họ.Javascript tells a browser what to do and how to process things just the same way that a shell script, php, or any other scripting language does for their respective hosts.

Tại sao JavaScript là ngôn ngữ kịch bản tốt nhất?

JavaScript là lựa chọn tốt hơn cho các trang web trên máy tính để bàn và di động.Giữa JQuery, Angular và React, JavaScript cung cấp các khả năng gần như vô tận cho lập trình web.Khi một doanh nghiệp hoặc cá nhân thuê một lập trình viên cho một dự án, có một nhà phát triển có kinh nghiệm là chìa khóa cho một dự án thành công.JavaScript provides virtually endless capabilities for web programming. When a business or individual hires a programmer for a project, having an experienced developer is the key to a successful project.

Tại sao được gọi là ngôn ngữ kịch bản?

Một ngôn ngữ kịch bản là một ngôn ngữ lập trình được giải thích.Nó được dịch thành mã máy khi mã được chạy, thay vì trước đó.Ngôn ngữ kịch bản thường được sử dụng cho các tập lệnh ngắn trên các chương trình máy tính đầy đủ.JavaScript, Python và Ruby đều là những ví dụ về các ngôn ngữ kịch bản.a programming language that is interpreted. It is translated into machine code when the code is run, rather than beforehand. Scripting languages are often used for short scripts over full computer programs. JavaScript, Python, and Ruby are all examples of scripting languages.

JavaScript có phải là ngôn ngữ kịch bản duy nhất không?

Để duy trì khả năng tương thích ngược của web nói chung, JavaScript vẫn là ngôn ngữ kịch bản được hỗ trợ duy nhất được hỗ trợ bởi tất cả các trình duyệt.JavaScript is still the only supported scripting language supported by all browsers.