A2 T21

Programming for the Web

JavaScript syntax (Variables/Functions/Conditionals/Loops), Data types (number/string/boolean/array/object), DOM manipulation, HTML events (onclick/onload/onchange/onmouseover), setTimeout, CSS changes via JS.

Danh sách bài học

30 bài
1
21.1 JavaScript Syntax Reference
📄 Bài đọc · Variables, Data types, Conditionals, Loops, Functions, DOM m...
○ Chưa học
2
Giới thiệu và tổng quan: JavaScript variable declaration var/let/const
📄 Bài đọc · Giới thiệu tổng quan về JavaScript variable declaration var/...
○ Chưa học
3
21.2 JavaScript DOM, Events, and Loops — Exam Masterclass
📄 Bài đọc · visibility vs display (1-mark trap); for vs for-in; DOM mani...
○ Chưa học
4
21.2 JavaScript DOM Manipulation
📄 Bài đọc · getElementById, innerHTML, event handlers, onclick, onload, ...
○ Chưa học
5
Khái niệm cốt lõi: JavaScript data types
📄 Bài đọc · Định nghĩa và KEY WORDS chính xác về JavaScript data types t...
○ Chưa học
6
P4.7 JavaScript for Paper 4 — Complete Task 4 Guide
📄 Bài đọc · Web technology stack SVG; getElementById; variable declarati...
○ Chưa học
7
21.3 JavaScript Arrays, Functions and Loops
📄 Bài đọc · Arrays, loops, functions, parameters, return values — với ví...
○ Chưa học
8
Phân tích chuyên sâu: JavaScript functions
📄 Bài đọc · Phân tích chi tiết cơ chế hoạt động của JavaScript functions...
○ Chưa học
9
P4.8 Advanced JavaScript — Forms, Timing, Loops, and Switch Statements
📄 Bài đọc · Reading user input; working with images in JS; setTimeout/se...
○ Chưa học
10
21.4 JavaScript Form Validation and Practical Applications
📄 Bài đọc · Form validation, input checking, dynamic page changes, full ...
○ Chưa học
11
21.3 Paper 4 Task 4 — JavaScript Complete Guide
📄 Bài đọc · DOM manipulation, arrays, functions, exam templates từ W25, ...
○ Chưa học
12
Ví dụ thực tế: Conditional if/else statements
📄 Bài đọc · Ứng dụng thực tế của Conditional if/else statements trong cá...
○ Chưa học
13
So sánh và đánh giá: switch statement
📄 Bài đọc · So sánh switch statement với các phương án thay thế — ưu như...
○ Chưa học
14
Kỹ thuật làm bài thi: for loop in JavaScript
📄 Bài đọc · Command words và cấu trúc câu trả lời cho câu hỏi về for loo...
○ Chưa học
15
Sơ đồ và hình vẽ: while loop in JavaScript
📄 Bài đọc · Sơ đồ và lưu đồ minh hoạ while loop in JavaScript — dạng xuấ...
○ Chưa học
16
Câu hỏi từ bài thi thật: Arrays in JavaScript
📄 Bài đọc · Phân tích câu hỏi Cambridge 9626 thực tế về Arrays in JavaSc...
○ Chưa học
17
Luyện tập có hướng dẫn: Objects in JavaScript
📄 Bài đọc · Bài tập tự luyện có hướng dẫn về Objects in JavaScript theo ...
○ Chưa học
18
21.4 JavaScript for Paper 3 — Operators, Loops, Events, Visibility
📄 Bài đọc · All JavaScript topics from Paper 3 FM2026, ON2024, ON2025, M...
○ Chưa học
19
Các lỗi thường gặp: DOM manipulation getElementById
📄 Bài đọc · Lỗi điển hình khi trả lời câu hỏi về DOM manipulation getEle...
○ Chưa học
20
21.5 JavaScript — Paper 4 Task 4 Complete Practical Guide
📄 Bài đọc · Full JavaScript reference for Paper 4 Task 4: DOM manipulati...
○ Chưa học
21
Từ khóa và định nghĩa: innerHTML and textContent
📄 Bài đọc · Bảng KEY WORDS Cambridge về innerHTML and textContent — định...
○ Chưa học
22
Liên kết các chủ đề: onclick event handler
📄 Bài đọc · Mối liên kết giữa onclick event handler và các chủ đề khác t...
○ Chưa học
23
Câu hỏi mức độ cao hơn (AO3): onload event handler
📄 Bài đọc · Câu hỏi AO3 (phân tích/đánh giá) về onload event handler — t...
○ Chưa học
24
Ôn tập nhanh: onchange event handler
📄 Bài đọc · Tóm tắt nhanh onchange event handler dạng checklist — các ý ...
○ Chưa học
25
Áp dụng thuật toán / mã giả: onmouseover/onmouseout
📄 Bài đọc · Pseudocode và tư duy thuật toán áp dụng onmouseover/onmouseo...
○ Chưa học
26
Tình huống đánh giá: setTimeout function
📄 Bài đọc · Khung trả lời câu Discuss/Evaluate cho câu hỏi AO3 về setTim...
○ Chưa học
27
Cấu trúc câu trả lời (PEEL): CSS style changes via JS
📄 Bài đọc · Cấu trúc PEEL và mark-point để trả lời câu dài Cambridge về ...
○ Chưa học
28
Thực hành Paper 2 / 4: Form validation with JavaScript
📄 Bài đọc · Kỹ năng thực hành Paper 2/4 áp dụng kiến thức về Form valida...
○ Chưa học
29
Tổng kết chương: Event listeners
📄 Bài đọc · Checklist và ôn tập toàn chương T21, trọng tâm chủ điểm cuối...
○ Chưa học
30
Kiểm tra hiểu biết: Practical JavaScript in P4
📄 Bài đọc · Câu hỏi chẩn đoán và tự kiểm tra kiến thức về Practical Java...
○ Chưa học

📖 Nội dung lý thuyết — T21: Programming for the Web

Xem bài học chi tiết trong tab Bài học phía trên. Mỗi bài giảng bao gồm:

  • ✅ Định nghĩa thuật ngữ chuẩn Cambridge
  • ✅ Bảng so sánh & ví dụ minh hoạ
  • ✅ Exam tips — cách trả lời câu hỏi Paper 1/3
  • ✅ Các lỗi thường gặp cần tránh
  • ✅ Sơ đồ & diagram khi cần thiết
Bắt đầu từ Bài 1 →
Nhấn để xem đáp án
Đáp án
Thi thử Paper 1/3 — Programming for the Web
Pass: 60%
Làm bài →
T21 — Programming for the Web Quiz
Bài học ⏱ 2940p Pass: 60%
Làm bài →
Quiz bài học — Programming for the Web
Bài học Pass: 60%
Làm bài →
Mock Exam — Programming for the Web
Mock Exam Pass: 60%
Làm bài →
T21 — JavaScript Programming Quiz
Ôn tập ⏱ 360p Pass: 60%
📊 Làm bài →
Kiểm tra ôn tập — Programming for the Web
Ôn tập Pass: 60%
📊 Làm bài →
Chapter 21: Programming for the Web - SVG Diagram Quiz
Ôn tập Pass: 60%
📊 Làm bài →

Kho đề thi Cambridge theo chương này. Chọn đề để luyện tập có đếm giờ.

📂

Chưa có tài liệu. Giáo viên sẽ bổ sung.

method

Task 4 JavaScript — DOM, Functions, Events (complete guide)

💻 JavaScript — Paper 4 Task 4 Complete Reference

Structure of a Paper 4 HTML/JS file:

<!DOCTYPE html>
<html>
<head>
  <script>
    function calculate() {
      var val = document.getElementById("inputField").value;
      document.getElementById("result").innerHTML = val * 2;
    }
  </script>
</head>
<body>
  <input type="text" id="inputField">
  <button onclick="calculate()">Calculate</button>
  <p id="result"></p>
</body>
</html>

Key DOM methods (Paper 4 tested):

Method/PropertyWhat it doesExample
getElementById(id)Returns reference to HTML element with matching iddocument.getElementById("box")
.innerHTMLGets/sets the HTML content inside an elementel.innerHTML = "Hello"
.valueGets/sets the value of an input elementdocument.getElementById("inp").value
.style.visibilityHides element but keeps its space (hidden/visible)el.style.visibility = "hidden"
.style.displayRemoves element from layout (none/block)el.style.display = "none"
.style.colorChanges text colourel.style.color = "red"
.style.backgroundColorChanges background colourel.style.backgroundColor = "blue"

Math functions used in Paper 4 tasks:

  • Math.tan(angle) — tangent (angle must be in RADIANS)
  • angle * Math.PI / 180 — converts degrees to radians
  • Math.floor(x) — rounds DOWN to nearest integer
  • Math.random() — random decimal 0 to 0.999...
  • Math.round(x) — rounds to nearest integer
  • parseFloat(x) — converts string to decimal number
  • parseInt(x) — converts string to integer
method

Mnemonic học thuộc: JavaScript variable declaration var/let/const

Dùng kỹ thuật mnemonic để ghi nhớ các bước / danh sách trong chủ đề này. Viết ra thẻ flashcard và tự kiểm tra mỗi ngày. [Chủ đề: JavaScript variable declaration var/let/const, T21]
method

Cornell Notes: JavaScript data types

Áp dụng Cornell Note-taking: cột gợi ý (trái 30%) và cột ghi chú. Viết câu hỏi chủ chốt vào cột gợi ý khi học chủ đề này. [Chủ đề: JavaScript data types, T21]
method

Kỹ thuật Feynman: JavaScript functions

Giải thích chủ đề này bằng ngôn ngữ đơn giản như đang dạy cho học sinh lớp 9. Nếu khó giải thích, đó là điểm cần học lại. [Chủ đề: JavaScript functions, T21]
method

Kết nối với thực tế: for loop in JavaScript

Liên kết chủ đề này với một công nghệ bạn dùng hàng ngày. Sự liên kết ngữ cảnh giúp ghi nhớ lâu dài hơn. [Chủ đề: for loop in JavaScript, T21]
method

Teach Back (dạy lại): while loop in JavaScript

Sau khi học, đóng sách và giải thích to trong 2 phút. Tự ghi âm nếu có thể, sau đó nghe lại và tìm điểm còn thiếu. [Chủ đề: while loop in JavaScript, T21]
method

Active Recall: innerHTML and textContent

Sau khi đọc, đóng tài liệu lại. Viết ra mọi thứ bạn nhớ được. Kiểm tra lại và thêm phần bị thiếu bằng màu khác. [Chủ đề: innerHTML and textContent, T21]
method

Peer Teaching: onclick event handler

Ghép đôi và kiểm tra nhau về chủ đề này. Người giải thích sẽ hiểu sâu hơn — cách học tốt nhất là dạy người khác. [Chủ đề: onclick event handler, T21]
method

Ví dụ cụ thể: CSS style changes via JS

Với mỗi khái niệm trong chủ đề này, viết 1 ví dụ thực tế cụ thể. Giám khảo cho điểm cao hơn với câu trả lời có ví dụ liên quan. [Chủ đề: CSS style changes via JS, T21]
memorize

Flashcard kỹ thuật số: Conditional if/else statements

Tạo flashcard kỹ thuật số với spaced repetition: mặt trước = thuật ngữ, mặt sau = định nghĩa + ví dụ. Ôn lại mỗi ngày trong 7 ngày liên tiếp. [Chủ đề: Conditional if/else statements, T21]
memorize

Mind map từ trí nhớ: switch statement

Vẽ mind map chủ đề từ trí nhớ, rồi so sánh với ghi chú. Thêm nhánh còn thiếu bằng màu khác để đánh dấu khoảng trống. [Chủ đề: switch statement, T21]
memorize

Vẽ sơ đồ từ trí nhớ: setTimeout function

Vẽ sơ đồ / lưu đồ chủ chốt của chủ đề từ trí nhớ 3 lần. Sơ đồ đúng giúp ghi điểm dễ trong Paper 1 và 3. [Chủ đề: setTimeout function, T21]
memorize

Spaced Repetition: Form validation with JavaScript

Dùng spaced repetition: ôn lại sau 1 ngày, 3 ngày, 1 tuần, 2 tuần, 1 tháng. Phương pháp này ngăn quên trước khi thi. [Chủ đề: Form validation with JavaScript, T21]
exam_technique

JavaScript Questions — What Paper 3 Tests Every Year

💻 JavaScript Topics — Frequently Appearing in Paper 3

TopicWhat Cambridge AsksSessions
Comparison operators (===, !==)Difference between strict equality and inequalityMJ2025/32 Q9
for vs for…in loopsDifference in use case and how they iterateON2024/32 Q1, ON2025/33 Q7
String methods (substring, indexOf)Trace or predict output of given codeON2024/33 Q1
Arithmetic operators (++, **, %)Define and write a code exampleMJ2025/31 Q4
HTML events (onclick, onload)Name events and describe what triggers themON2024/32 Q10, ON2025/32 Q10
visibility propertyHow getElementById().style.visibility worksFM2026/32 Q1
while vs do…whileKey difference (pre-test vs post-test condition)MJ2024/33 Q1

⚠️ Always give a code example — "=== checks value AND type" earns 1 mark; "5 === '5' returns false because one is number and one is string" earns the second mark.

exam_technique

PEEL cho câu dài: Arrays in JavaScript

Với câu hỏi mở rộng: dùng cấu trúc PEEL — Point, Evidence, Explain, Link. Luyện viết 1 đoạn PEEL trong 5 phút. [Chủ đề: Arrays in JavaScript, T21]
exam_technique

Từ lệnh Cambridge: Objects in JavaScript

Ghi nhớ: State = 1 từ/cụm, Describe = đặc điểm/cách hoạt động, Explain = lý do/vì sao, Discuss = ưu + nhược + đánh giá. [Chủ đề: Objects in JavaScript, T21]
exam_technique

Bảng so sánh 2 cột: DOM manipulation getElementById

Tạo bảng so sánh 2 cột: ưu vs nhược, phương pháp A vs B. Đây chính là dạng câu hỏi thi phổ biến nhất của Cambridge. [Chủ đề: DOM manipulation getElementById, T21]
exam_technique

Kiểm tra syllabus Cambridge: onchange event handler

Luôn đối chiếu mã syllabus Cambridge 9626 cho chủ đề này. Biết chính xác AO1/AO2/AO3 nào được áp dụng. [Chủ đề: onchange event handler, T21]
exam_technique

Phân tích mark scheme: onmouseover/onmouseout

Phân tích 3 mark scheme đề thi thật cho chủ đề này. Tô sáng từ vựng Cambridge dùng để cho điểm rồi chép lại vào ghi chú. [Chủ đề: onmouseover/onmouseout, T21]
time_management

Luyện có thời gian: onload event handler

Luyện trả lời câu hỏi theo thời gian: 1 điểm = 1 phút. Câu 6 điểm = tối đa 7 phút. Tập kỷ luật thời gian từ bây giờ. [Chủ đề: onload event handler, T21]
time_management

Lịch ôn tập cá nhân: Practical JavaScript in P4

Tạo lịch ôn tập cá nhân cho chủ đề này. Dành nhiều thời gian hơn cho các phần bạn tự kiểm tra dưới 70% điểm. [Chủ đề: Practical JavaScript in P4, T21]
practical_skill

Chú thích hình vẽ: Event listeners

Luyện gắn nhãn và chú thích sơ đồ cho chủ đề này. Cambridge cho điểm với sơ đồ được chú thích đúng, không chỉ mô tả bằng lời. [Chủ đề: Event listeners, T21]
Xem thêm phương pháp →