JavaScript là một ngôn ngữ lập trình kịch bản (scripting language) phổ biến được sử dụng chủ yếu trong phát triển web để tạo ra các trang web tương tác và động. Trong khi HTML cung cấp cấu trúc và CSS định kiểu, JavaScript giúp thêm các chức năng tương tác và logic cho trang web, chẳng hạn như xử lý sự kiện (event), xác thực dữ liệu, tạo hoạt ảnh, và nhiều tính năng khác.

Vai trò của JavaScript:

  1. Tương tác với người dùng: JavaScript cho phép trang web phản hồi các hành động của người dùng, chẳng hạn như nhấp chuột, nhập liệu, di chuyển chuột, cuộn trang, v.v.
  2. Thay đổi nội dung trang web: JavaScript có thể cập nhật nội dung của trang web mà không cần tải lại toàn bộ trang.
  3. Xử lý dữ liệu phía máy khách: Trước khi gửi dữ liệu về máy chủ, JavaScript có thể xác thực dữ liệu và xử lý các thao tác ngay trên trình duyệt của người dùng.
  4. Giao tiếp với máy chủ (AJAX): JavaScript có thể tải và gửi dữ liệu với máy chủ theo cách bất đồng bộ (asynchronous), tức là không cần tải lại trang web.
  5. Tạo hiệu ứng động: JavaScript có thể tạo ra các hiệu ứng động như hoạt ảnh, điều chỉnh kích thước của phần tử, hoặc tạo các hiệu ứng di chuyển.

Cấu trúc cơ bản của JavaScript:

JavaScript có thể được nhúng trực tiếp vào HTML bằng thẻ <script>, hoặc được liên kết từ một tệp riêng biệt.

Ví dụ nhúng trực tiếp JavaScript vào HTML:

html
<!DOCTYPE html>
<html>
<head>
<title>Example Page</title>
<script>
function showMessage() {
alert("Hello, World!");
}
</script>
</head>
<body>
<button onclick="showMessage()">Click me</button>
</body>
</html>

Trong ví dụ này, khi người dùng nhấp vào nút "Click me", một thông báo "Hello, World!" sẽ hiển thị nhờ JavaScript.

Liên kết JavaScript từ tệp bên ngoài:

html
<!DOCTYPE html>
<html>
<head>
<title>Example Page</title>
<script src="script.js"></script>
</head>
<body>
<button onclick="showMessage()">Click me</button>
</body>
</html>

Tệp script.js:

javascript
function showMessage() {
alert("Hello, World!");
}

Các thành phần chính của JavaScript:

  1. Biến (Variables): Biến trong JavaScript dùng để lưu trữ dữ liệu, có thể khai báo bằng từ khóa var, let, hoặc const.
    • var: Khai báo biến có phạm vi toàn cục hoặc trong function (cũ).
    • let: Khai báo biến có phạm vi trong block (khuyến nghị sử dụng).
    • const: Khai báo biến có giá trị không thay đổi.

    Ví dụ:

    javascript
    let name = "John";
    const age = 30;
    var isStudent = true;
  2. Kiểu dữ liệu (Data Types):
    • Primitive types:
      • String: Chuỗi ký tự. Ví dụ: "Hello", 'World'.
      • Number: Số, bao gồm cả số nguyên và số thập phân. Ví dụ: 42, 3.14.
      • Boolean: Giá trị logic true hoặc false.
      • Null: Giá trị rỗng, đại diện cho không có gì.
      • Undefined: Biến chưa được gán giá trị.
    • Object: Cấu trúc dữ liệu phức tạp hơn, như mảng (array) hoặc đối tượng (object).

    Ví dụ:

    javascript
    let person = { name: "John", age: 30 };
    let colors = ["red", "green", "blue"];
  3. Câu lệnh điều kiện (Conditional Statements): JavaScript hỗ trợ các câu lệnh điều kiện để kiểm tra và thực thi mã dựa trên các điều kiện khác nhau.
    • if, else if, else:
      javascript
      let age = 18;
      if (age >= 18) {
      console.log("Adult");
      } else {
      console.log("Not an adult");
      }
    • Toán tử ba ngôi (ternary operator):
      javascript
      let age = 18;
      let status = (age >= 18) ? "Adult" : "Not an adult";
  4. Vòng lặp (Loops): Vòng lặp cho phép thực thi một khối mã nhiều lần.
    • for loop:
      javascript
      for (let i = 0; i < 5; i++) {
      console.log(i);
      }
    • while loop:
      javascript
      let i = 0;
      while (i < 5) {
      console.log(i);
      i++;
      }
  5. Hàm (Functions): Hàm là khối mã được định nghĩa và có thể gọi lại nhiều lần. Có hai cách chính để định nghĩa hàm:
    • Hàm cơ bản:
      javascript
      function greet(name) {
      return "Hello, " + name;
      }
      console.log(greet("Alice"));
    • Arrow functions (một cách viết ngắn gọn hơn):
      javascript
      const greet = (name) => "Hello, " + name;
      console.log(greet("Bob"));
  6. DOM Manipulation (Tương tác với DOM): JavaScript có thể tương tác với DOM (Document Object Model) để thay đổi cấu trúc hoặc nội dung trang web.
    • Truy cập phần tử HTML:
      javascript
      let element = document.getElementById("my-element");
    • Thay đổi nội dung của phần tử:
      javascript
      element.innerHTML = "New content";
    • Thêm sự kiện cho phần tử:
      javascript
      element.addEventListener("click", () => {
      alert("Element clicked!");
      });
  7. JSON (JavaScript Object Notation): JSON là định dạng dữ liệu phổ biến được sử dụng để trao đổi dữ liệu giữa máy khách và máy chủ.
    javascript
    let person = { name: "Alice", age: 25 };
    let jsonString = JSON.stringify(person); // Chuyển object thành chuỗi JSON
    let jsonObject = JSON.parse(jsonString); // Chuyển chuỗi JSON thành object
  8. AJAX (Asynchronous JavaScript and XML): JavaScript hỗ trợ tải dữ liệu từ máy chủ một cách bất đồng bộ mà không cần tải lại toàn bộ trang. Công cụ phổ biến là fetch API:
    javascript
    fetch('https://api.example.com/data')
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.log('Error:', error));

Các thư viện và framework JavaScript phổ biến:

  1. jQuery: Thư viện giúp đơn giản hóa việc tương tác với DOM và AJAX.
  2. React: Thư viện JavaScript để xây dựng giao diện người dùng (UI) của Facebook.
  3. Vue.js: Framework nhẹ để xây dựng UI tương tác.
  4. Angular: Framework toàn diện để phát triển ứng dụng web từ Google.

Kết luận:

JavaScript là một phần không thể thiếu trong phát triển web hiện đại. Nó giúp trang web trở nên động, tương tác hơn, và có thể thực hiện nhiều tác vụ từ đơn giản đến phức tạp như trò chuyện trực tuyến, trò chơi, và các ứng dụng web phức tạp.

Đánh giá post