GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Complete JavaScript
  • JavaScript
  • React
  • Question
  • Freebie
  • Blog
  • eBooks
  • Snippets
  • Tools

This view

  • Original page
  • New address

GeezerVison is showing completejavascript.com — JavaScript Directory

Tổng hợp tất cả những kiến thức liên quan đến ngôn ngữ lập trình JavaScript từ cơ bản (biến, kiểu dữ liệu, array, object, hàm,...) đến nâng cao (lập trình hướng đối tượng, design pattern, cách giao tiếp với server...), cách JavaScript làm việc với trình duyệt, web API và một số ví dụ thực tế...

Ngôn ngữ lập trình JavaScript

Phần này bao gồm tất cả những thành phần liên quan đến ngôn ngữ lập trình JavaScript như: các kiểu dữ liệu, biến, biểu thức, vòng lặp, hàm, array, object, class,...

Kiến thức tổng quan

  • JavaScript là gì?
  • IDE là gì?
  • Dev Tools là gì?

JavaScript cơ bản

  • Chương trình đầu tiên
  • Câu lệnh và chú thích code trong JS
  • Use strict trong JS
  • Biến là gì? Biến trong JS
  • Hằng là gì? Hằng trong JS
  • Các kiểu dữ liệu trong JavaScript
  • Chuyển đổi kiểu dữ liệu trong JS
  • Hàm: alert, confirm, prompt
  • Toán tử là gì? Toán tử trong JS
  • Toán tử so sánh trong JavaScript
  • Toán tử logic trong JavaScript
  • Cấu trúc rẽ nhánh trong JS
  • Toán tử Nullish Coalescing (??) trong JS
  • Lệnh Switch - Case trong JavaScript
  • Vòng lặp trong JavaScript
  • Hàm là gì? Hàm trong JavaScript
  • Function expression trong JavaScript
  • Arrow function là gì? Arrow function trong JS

Đối tượng (object)

  • Object là gì? Object trong JavaScript
  • So sánh hai object trong JS
  • Copy object trong JavaScript
  • Garbage collection trong JavaScript
  • Phương thức của Object và this trong JavaScript
  • Khởi tạo object với new trong JavaScript
  • Immutable object - đối tượng bất biến
  • Optional chaining trong JavaScript
  • Symbol trong JavaScript
  • Chuyển đổi object về kiểu nguyên thủy

Các kiểu dữ liệu

  • Phương thức của kiểu nguyên thủy
  • Kiểu dữ liệu number trong JavaScript
  • Kiểu dữ liệu string trong JavaScript
  • ES6 template string
  • Tagged template ES6
  • Array là gì? Array trong JavaScript
  • Các phương thức của mảng trong JS
  • Sắp xếp mảng
  • Sắp xếp mảng Tiếng Việt
  • JavaScript forEach là cái quái gì?
  • Iterable là gì? Iterable trong JavaScript
  • Map trong JavaScript
  • So sánh Map và Object
  • Set trong JavaScript
  • Weakmap trong JavaScript
  • Weakset trong JavaScript
  • Destructuring Assignment
  • Đối tượng Date trong JavaScript
  • JSON trong JavaScript
  • Ứng dụng reduce trong mảng

Kiến thức nâng cao về hàm

  • Hàm đệ quy trong JavaScript
  • Dấu ba chấm trong JavaScript
  • Closure là gì? Tìm hiểu closure trong JS
  • Var trong JS và cách sử dụng IIFE
  • Đối tượng global trong JavaScript
  • Function object trong JavaScript
  • Cú pháp new Function trong JavaScript
  • Hàm setTimeout trong JavaScript
  • Decorator, forwarding của hàm trong JS
  • Function binding trong JavaScript

Các cờ và cấu hình thuộc tính object

  • Writable, enumerable, configurable của object
  • Getter và setter trong JavaScript

Prototype và kế thừa prototype

  • Prototype là gì? Prototype trong JavaScript
  • F.prototype - Prototype của hàm trong JavaScript
  • Native prototypes trong JavaScript
  • Các phương thức với prototype trong JavaScript

ES6 class

  • Cú pháp cơ bản của class trong JavaScript
  • Kế thừa class trong JavaScript
  • Thuộc tính và phương thức static của class trong JS
  • Thuộc tính và phương thức private của class trong JS
  • Kế thừa built-in class trong JavaScript
  • Kiểm tra lớp với toán tử instanceof
  • Kĩ thuật mixin trong JavaScript

Quản lý lỗi

  • Quản lý lỗi với try...catch trong JS
  • Tùy biến và mở rộng đối tượng Error trong JS

Callback, Promise, async/await

  • Bất đồng bộ với callback, promise, async/await
  • Callback là gì? Callback trong JavaScript
  • Promise là gì? Promise trong JavaScript
  • Chuỗi promise trong JavaScript
  • Kết thúc Promise chaining
  • Xử lý lỗi với promise trong JavaScript
  • Các promise API trong JavaScript
  • Chuyển callback thành promise trong JS
  • Microtasks là gì? Microtasks trong JS
  • Async/await là gì? Async/await trong JS
  • Bất đồng bộ song song hay tuần tự?

ES6 Modules

  • ES6 Modules trên trình duyệt

Kiểm thử và đảm bảo chất lượng code

  • Debug JavaScript dễ hay khó
  • Một số lỗi ở Strict mode
  • Sử dụng console hiệu quả

Regular Expression

  • Tìm hiểu Regex JavaScript
  • Một số biểu thức RegExp hay

JavaScript với trình duyệt

Phần này bao gồm những bài viết về cách JavaScript làm việc với trình duyệt như: cách tạo ra các phần tử, bắt sự kiện, lưu dữ liệu vào storage trình duyệt,...

DOM

  • DOM là gì?
  • Một số event JavaScript
  • DOMParser
  • HTML Template sang DOM
  • Clipboard với execCommand

Network requests

  • XMLHttpRequest
  • XMLHttpRequest với Promise

Lưu trữ dữ liệu

  • IndexedDB
  • LocalForage thay cho IndexedDB
  • Cookie

JavaScript Worker

  • Web Worker API
  • Service Worker

Một số kiến thức khác về JavaScript

Phần này bao gồm những thủ thuật, tips & tricks, design pattern, những kiến thức ít được chia sẻ về JavaScript và một số bài toán thực tế.

Thủ thuật JavaScript

  • 21 thủ thuật JavaScript
  • 6 cách loại bỏ phần tử lặp trong mảng
  • Remove item in Array
  • Convert IPv4 sang Decimal và ngược lại
  • Tạo số ngẫu nhiên và ứng dụng

Bài toán thực tế

  • JavaScript Tint Color
  • Xử lý ảnh Nine-Patch
  • Triển khai Undo-Redo
  • Triển khai Stack
  • Triển khai Queue

Design Pattern

  • Constructor Pattern
  • Module Pattern
  • Singleton Pattern
  • PubSub Pattern
  • Method Chaining

Lập trình JavaScript với FCC

  • Thuật toán cơ bản
  • Thuật toán nâng cao
  • Tribute Page
  • Portfolio cá nhân
  • Random Quote Machine
  • Ứng dụng thời tiết
  • Wikipedia Viewer
  • Twitch TV client

Tutorials

  • Mustache Template với jQuery
  • HTML template với template string
  • Smooth Scrolling với jQuery
  • Lazy Loading Image với ES6 và CSS
  • Menu Responsive
  • Lấy vị trí với Geolocation API và ipinfo.io
  • Gửi email bằng HTML và Formspree.io
  • Dark theme với CSS variable
  • Tối ưu FontAwesome với IcoMoon

JavaScript Quiz

  • Quiz phần 1
  • Quiz phần 2
  • Quiz phần 3
  • Quiz phần 4
  • Quiz phần 5
  • Quiz phần 6
  • Quiz phần 7
  • Quiz phần 8
  • Quiz phần 9
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.