JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trình được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng rãi cho các trang web (phía người dùng) cũng như phía máy chủ (với Nodejs). Nó vốn được phát triển bởi Brendan Eich tại Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cuối cùng thành JavaScript. Giống Java, JavaScript có cú pháp tương tự C, nhưng nó gần với Self hơn Java. .js là phần mở rộng thường được dùng cho tập tin mã nguồn JavaScript.
Phiên bản mới nhất của JavaScript là ECMAScript 12. ECMAScript là phiên bản chuẩn hóa của JavaScript. Trình duyệt Mozilla phiên bản 1.8 beta 1 có hỗ trợ không đầy đủ cho E4X - phần mở rộng cho JavaScript hỗ trợ làm việc với XML, được chuẩn hóa trong ECMA-357.
Java, JavaScript và JScript
Cùng thời điểm Netscape bắt đầu sử dụng Java trên trình duyệt Netscape, LiveScript đã được đổi tên thành JavaScript để được chú ý hơn bởi ngôn ngữ lập trình Java lúc đó đang được coi là một hiện tượng. JavaScript được bổ sung vào trình duyệt Netscape bắt đầu từ phiên bản 2.0b3 của trình duyệt này vào tháng 12 năm 1995. Trên thực tế, JavaScript không được phát triển dựa từ Java. Do đó JavaScript chỉ dựa trên các cách đặt tên của Java. Java Script gồm 2 mảng là client-server thực hiện lệnh trên máy của end-user và web-server.
Sau thành công của JavaScript, Microsoft bắt đầu phát triển JScript, một ngôn ngữ có cùng ứng dụng và tương thích với JavaScript. JScript được bổ sung vào trình duyệt Internet Explorer bắt đầu từ Internet Explorer phiên bản 3.0 được phát hành tháng 8 năm 1996.
DOM (Document Object Model), một khái niệm thường được nhắc đến với JavaScript trên thực tế không phải là một phần của chuẩn ECMAScript, DOM là một chuẩn riêng biệt có liên quan chặt chẽ với XML.
Ứng dụng
JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp phát triển từ C. Giống như C, JavaScript có khái niệm từ khóa, do đó, JavaScript gần như không thể được mở rộng.
Cũng giống như C, JavaScript không có bộ xử lý xuất/nhập (input/output) riêng. Trong khi C sử dụng thư viện xuất/nhập chuẩn, JavaScript dựa vào phần mềm ngôn ngữ được gắn vào để thực hiện xuất/nhập.
Trên trình duyệt, rất nhiều trang web sử dụng JavaScript để thiết kế trang web động và một số hiệu ứng hình ảnh thông qua DOM. JavaScript được dùng để thực hiện một số tác vụ không thể thực hiện được với chỉ HTML như kiểm tra thông tin nhập vào, tự động thay đổi hình ảnh,... Ở Việt Nam, JavaScript còn được ứng dụng để làm bộ gõ tiếng Việt giống như bộ gõ hiện đang sử dụng trên trang Wikipedia tiếng Việt. Tuy nhiên, mỗi trình duyệt áp dụng JavaScript khác nhau và không tuân theo chuẩn W3C DOM, do đó trong rất nhiều trường hợp lập trình viên phải viết nhiều phiên bản của cùng một đoạn mã nguồn để có thể hoạt động trên nhiều trình duyệt. Một số công nghệ nổi bật dùng JavaScript để tương tác với DOM bao gồm DHTML, Ajax và SPA.
Bên ngoài trình duyệt, JavaScript có thể được sử dụng trong tập tin PDF của Adobe Acrobat và Adobe Reader. Điều khiển Dashboard trên hệ điều hành Mac OS X phiên bản 10.4 cũng có sử dụng JavaScript. Công nghệ kịch bản linh động (active scripting) của Microsoft có hỗ trợ ngôn ngữ JScript làm một ngôn ngữ kịch bản dùng cho hệ điều hành. JScript.NET là một ngôn ngữ tương thích với CLI gần giống JScript nhưng có thêm nhiều tính năng lập trình hướng đối tượng.
Từ khi Nodejs ra đời vào năm 2009, Javascript được biết đến nhiều hơn là một ngôn ngữ đa nền tảng khi có thể chạy trên cả môi trường máy chủ cũng như môi trường nhúng.
Mỗi ứng dụng này đều cung cấp mô hình đối tượng riêng cho phép tương tác với môi trường chủ, với phần lõi là ngôn ngữ lập trình JavaScript gần như giống nhau.
Các thành phần cú pháp chính
Khoảng trắng
Dấu cách, tab và ký tự dòng mới sử dụng bên ngoài một chuỗi ký tự được gọi là khoảng trắng. Khác với C, khoảng trắng trong JavaScript có thể ảnh hưởng trực tiếp tới ý nghĩa của câu lệnh. Sử dụng phương pháp "tự động thêm dấu chấm phẩy", bất cứ một dòng JavaScript nào thích hợp sẽ được coi là một câu lệnh hợp lệ (giống như có dấu chấm phẩy trước ký tự dòng mới).
Tuy trong phần lớn trường hợp, dấu chấm phẩy trước khi kết thúc một dòng JavaScript là không cần thiết để đoạn mã nguồn hoạt động chính xác, lập trình viên nên sử dụng dấu chấm phẩy sau mỗi câu lệnh để đoạn mã nguồn dễ nhìn hơn. Ngoài ra, do đặc thù của JavaScript - chuyên dùng trên trang web, kích cỡ của đoạn mã nguồn là quan trọng, có một số phần mềm có thể làm giảm kích cỡ của đoạn mã nguồn JavaScript bằng cách bỏ đi những khoảng trắng không cần thiết, để những phần mềm này hoạt động chính xác, lập trình viên cần thêm dấu chấm phẩy vào cuối mỗi câu lệnh.
👁️
3 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**JavaScript**, theo phiên bản hiện hành, là một ngôn ngữ lập trình được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng rãi cho các trang web (phía người dùng)
nhỏ|SpiderMonkey logo **Engine JavaScript** là một thành phần phần mềm thực thi mã JavaScript. Các JavaScript engine đầu tiên chỉ là trình thông dịch, nhưng tất cả các engine hiện đại đều sử dụng biên
**Isomorphic JavaScript**, cũng được biết đến là **Universal JavaScript**, mô tả các ứng dụng JavaScript chạy trên cả client và server. ## Cơ chế Isomorphic JavaScript có một số điểm giống như single page application
**Prototype** là một framework javascript, được xây dựng với mục địch giúp cho việc phát triển các ứng dựng web dễ dàng hơn, Với các component rất dễ sử dụng cho việc phát triển theo
Venkman 0.9.85**Venkman** là tên mã của một tiện ích dùng để tìm diệt lỗi JavaScript của những trình duyệt dựa trên trình duyệt Mozilla (tuy nhiên không hoạt động trong những trình duyệt chỉ dựa
**AJAX** (tiếng Anh: "Asynchronous JavaScript and XML" - nghĩa là "JavaScript và XML không đồng bộ") là một nhóm các công nghệ phát triển web được sử dụng để tạo các ứng dụng web động
**gulp** là bộ công cụ JavaScript mã nguồn mở của Fractal Innovations và cộng đồng nguồn mở tại GitHub, được sử dụng làm hệ thống xây dựng phát trực tuyến trong phát triển web front-end.
**Babel** là một trình biên dịch Javascript mã nguồn mở và miễn phí có chức năng chính dùng để biên dịch ECMAScript thành phiên bản tương thích ngược cho JavaScript có thể chạy trên các
**Node.js** là một hệ thống phần mềm được thiết kế để viết các ứng dụng internet có khả năng mở rộng, đặc biệt là máy chủ web. Chương trình được viết bằng JavaScript, sử dụng
**Closure Tools** là một công cụ do Google phát triển, giúp người lập trình giảm kích thước tập tin JavaScript mà vẫn thực thi các câu lệnh JavaScript như bình thường. Công cụ này được
Trong lập trình, **minification** (còn được gọi là **minimisation** hoặc **minimization**) là quá trình loại bỏ các ký tự không cần thiết từ mã nguồn hoặc chương trình thông dịch hoặc ngôn ngữ đánh dấu
**HTML động** hay **DHTML** (viết tắt tiếng Anh: _Dynamic HTML_) là một thể hiện của việc tạo ra một trang web bằng cách kết hợp các thành phần: ngôn ngữ đánh dấu HTML tĩnh, ngôn
**jQuery** là một thư viện JavaScript được thiết kế đơn giản hóa thao tác HTML DOM, cũng như xử lý sự kiện, hoạt ảnh CSS, và Ajax. Nó là phần mềm mã nguồn mở, miễn
Mức lương: 2,000,000 - 4,000,000 đ Vị trí: JavaScript (JS) Fullstack Developer Ngày bắt đầu: 11/04/2025 Ngày kết thúc: 30/05/2025- Vị trí: JavaScript (JS) Fullstack Developer - Phòng ban: DEV - Báo cáo trực tiếp:
Mức lương: 2,000,000 - 4,000,000 đ Vị trí: JavaScript (JS) Fullstack Developer Ngày bắt đầu: 11/04/2025 Ngày kết thúc: 30/05/2025- Vị trí: JavaScript (JS) Fullstack Developer - Phòng ban: DEV - Báo cáo trực tiếp:
Mức lương: 2,000,000 - 4,000,000 đ Vị trí: JavaScript (JS) Fullstack Developer Ngày bắt đầu: 11/04/2025 Ngày kết thúc: 30/05/2025- Vị trí: JavaScript (JS) Fullstack Developer - Phòng ban: DEV - Báo cáo trực tiếp:
**ECMAScript** (hay **ES**) là một thương hiệu đặc tả ngôn ngữ kịch bản được tiêu chuẩn hóa bởi Ecma International thông qua **ECMA-262** và ISO/IEC 16262. Nó được tạo ra để tiêu chuẩn hóa JavaScript,
Thuật ngữ **Ajax** có thể liên quan đến: * Ajax Amsterdam, đội bóng chủ chốt của Amsterdam, Hà Lan * Ajax (lập trình), viết tắt của Asynchronous JavaScript and XML, một kỹ thuật mới để
**CKEditor** (còn gọi là **FCKeditor**) là một trình soạn thảo mã nguồn mở theo kiểu WYSIWYG (tay làm - mắt thấy) của CKSource. Chương trình này có thể tích hợp vào các website mà không
**JavaScript Object Notation** (thường được viết tắt là **JSON**) là một kiểu dữ liệu mở trong JavaScript. Kiểu dữ liệu này bao gồm chủ yếu là văn bản, có thể đọc được theo dạng cặp
**Google AJAX APIs** cho phép nhà phát triển web tạo một ứng dụng web động với HTML và JavaScript. Nhà phát triển có thể thêm vào trang web của họ bản đồ, hộp tìm kiếm
**React** (hay còn được gọi là **React.js** hoặc **ReactJS**) là một thư viện JavaScript front-end mã nguồn mở và miễn phí để xây dựng giao diện người dùng dựa trên các thành phần UI riêng
Combo 2 sách Lập trình với Python cơ bản và nâng cao 1. SÁCH LẬP TRÌNH VỚI PYTHON PYTHON LÀ GÌ Theo chỉ số phổ biến của ngôn ngữ lập trình PYPL trong năm 2022,
SÁCH LẬP TRÌNH VỚI PYTHON PYTHON LÀ GÌ Theo chỉ số phổ biến của ngôn ngữ lập trình PYPL trong năm 2022, Python hiện xếp đầu tiên trên bảng xếp hạng trên cả Java và
**ActionScript** là một ngôn ngữ lập trình hướng đối tượng (_object-oriented programming language_) với các đối tượng như class, interface và packages được dùng cho các văn lệnh kịch bản (_script_) cho các phim dùng
**npm (viết tắt của Node Package Manager / nodepm (pkgmakeinst))** là chương trình quản lý thư viện (package manager) ngầm định trong môi trường Node.js. Nó bao gồm một trình gọi dòng lệnh (CLI) từ
**Brendan Eich** (; sinh ngày 4 tháng 7 năm 1961) là một nhà công nghệ người Mỹ và là cha đẻ của ngôn ngữ lập trình JavaScript. Ông ta cũng là người đồng sáng lập
hấp dầu NOUVELLE dành cho tóc hư tổn dung tích 1000ML Thành phần chính: - Keratin thủy phân: Vì Keratin là thành phần chủ yếu của sợi tóc; chiếm 70% cấu tạo sợi tóc, tóc
**TypeScript** là một ngôn ngữ lập trình được phát triển và duy trì bởi Microsoft. Nó là một siêu tập hợp cú pháp nghiêm ngặt của JavaScript và thêm tính năng kiểu tĩnh tùy chọn
**WebKit** là một engine trình duyệt nguồn mở cung cấp các thành phần cần thiết để xây dựng một trình duyệt web. WebKit được Apple Inc. chính thức nhận từ thư viện phần mềm KHTML
Trong lập trình máy tính, **mô thức async/await** là một tính năng cú pháp của nhiều ngôn ngữ lập trình, cho phép cấu trúc nên hàm 'bất đồng bộ, non-blocking' theo lối y hệt ở
**Adobe AIR** (trước đây là **Adobe Integration Runtime**) là một hệ thống runtime đa nền tảng được Adobe Systems phát triển để xây dựng các ứng dụng máy tính để bàn và ứng dụng di
**Google Analytics** (viết tắt là **GA**) là một dịch vụ miễn phí của Google cho phép tạo ra các bảng thống kê chi tiết về khách đã ghé thăm một trang web. Nó là sản
**Google Chrome** là một trình duyệt web miễn phí, được phát triển và vận hành bởi Google, sử dụng nền tảng V8 engine. Dự án mã nguồn mở đứng sau Google Chrome được biết với
**Safari** là trình duyệt web đồ họa mã nguồn mở một phần dựa trên WebKit do Apple phát triển. Nó xuất hiện lần đầu tiên như một phần của Mac OS X Panther trên Mac
**Object Pascal** chỉ đến một nhánh của phát sinh hướng đối tượng của Pascal, được biết đến chủ yếu với vai trò ngôn ngữ lập trình chính của Delphi. ## Lịch sử ban đầu tại
**JSONP** hay là _JSON với nhãn (padding)_ là một dạng bổ sung dựa trên nền định dạng dữ liệu JSON, một _mẫu sử dụng_ cho phép trang yêu cầu dữ liệu từ máy chủ trong
**Mô hình túi từ (bag-of-words)** là một biểu diễn đơn giản hóa được sử dụng trong xử lý ngôn ngữ tự nhiên và truy vấn thông tin (IR). Trong mô hình này, một văn bản
**Phân tích website (Website analytics)** là việc đo lường, thu thập, phân tích và báo cáo dữ liệu web nhằm mục đích hiểu và tối ưu hóa việc sử dụng web. Tuy nhiên, phân tích
**Thị phần người dùng của các trình duyệt web** là số phần trăm số người sử dụng một trình duyệt web đặc thù nào đó để duyệt một hoặc một nhóm các website. Ví dụ,
**JScript** là một ngôn ngữ kịch bản (_scripting language_) của Microsoft được tạo nên dựa trên chuẩn ECMAScript . JScript chủ yếu được sử dụng ở những ứng dụng có hỗ trợ Windows Script, như
Apache **Log4j** là một trình ghi nhật ký trên nền tảng Java. Ban đầu, Log4j được phát triển bởi Ceki Gülcü và hiện nay là một dự án của Quỹ Phần mềm Apache. Log4j là
**Chrome V8**, hay đơn giản là **V8**, là một JavaScript engine mã nguồn mở phát triển bởi The Chromium Project cho trình duyệt web Google Chrome và Chromium. Người sáng lập dự án là Lars
thumb|Minh họa mã nguồn [[Java (programming language)|Java với comment **mở đầu** được biểu thị bằng màu **đỏ** và comment **nội dòng** bằng màu **lục**. **Mã chương trình** là bằng màu **lam**.]]Trong lập
**Pascal** là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh và thủ tục, được Niklaus Wirth phát triển vào năm 1970. Pascal là ngôn ngữ lập trình đặc biệt thích hợp
Đây là danh sách nguồn gốc các thuật ngữ liên quan đến máy tính (hay **danh sách từ nguyên thuật ngữ máy tính**). Nó có liên quan đến cả phần cứng và phần mềm máy
nhỏ|phải|243x243px|Ảnh chụp giao diện [[phần mềm diệt virus có tên FireLion- FastHelper]] Trong khoa học máy tính viễn thông, **virus máy tính** hay **virus tin học** (thường được người sử dụng gọi tắt là **virus**)
**Mozilla Firefox 4** là phiên bản mới nhất của trình duyệt web Mozilla Firefox, phát hành vào ngày 22 tháng 3 năm 2011. Phiên bản beta đầu tiên đã được phổ biến vào ngày 6
**Ngôn ngữ kịch bản** () là ngôn ngữ lập trình cho môi trường thời gian chạy đặc biệt tự động hóa thực thi các tác vụ; các tác vụ thay thế có thể
**Vue.js**, gọi tắt là **Vue** (phát âm là /vjuː/, giống như view trong tiếng Anh), là một framework linh động dùng để xây dựng giao diện người dùng (user interfaces - UI). Khác với các