S SmartDocs

程式語言

Python、C、C++、Java、JavaScript、TypeScript、Go、R 與 Haskell 教學,從入門語法到進階技巧。

JavaScript EN 更新於 2026-02-03

Lesson 8: Events

By the end of this lesson, you will be able to: Add event listeners to elements Handle different types of events (click, input, submit) Understand event bubbling and delegation Prevent default browser behavior Create int

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 9: JSON & LocalStorage

By the end of this lesson, you will be able to: Convert JavaScript objects to JSON strings Parse JSON strings back to JavaScript objects Store data in browser localStorage Retrieve data from localStorage Persist data bet

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Module 3: Advanced JavaScript

Goal: Learn asynchronous programming and browser APIs.

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 1: Asynchronous JavaScript

By the end of this lesson, you will be able to: Understand synchronous vs asynchronous programming Use callbacks to handle asynchronous operations Work with Promises and their methods Use async/await for cleaner asynchro

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 10: Mini Project - Weather App

By the end of this lesson, you will be able to: Build a complete weather application Integrate with a real API (OpenWeather) Handle API responses and errors Create a responsive user interface Implement search functionali

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 2: Fetch API

By the end of this lesson, you will be able to: Make GET requests to fetch data from APIs Make POST requests to send data to servers Handle different response formats (JSON, text, blob) Manage HTTP status codes and error

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 3: APIs & REST Concepts

By the end of this lesson, you will be able to: Understand what APIs are and how they work Learn REST principles and HTTP methods Build query parameters for API requests Understand API endpoints and URL structure Handle

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 4: DOM Advanced

By the end of this lesson, you will be able to: Create and remove DOM elements dynamically Build dynamic lists and templates Manipulate element attributes and classes Use document fragments for performance Implement adva

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 5: Forms and Validation

By the end of this lesson, you will be able to: Handle form submission events Validate form inputs in real-time Prevent empty field submissions Create custom validation messages Implement form data collection Build user-

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 6: Timers and Intervals

By the end of this lesson, you will be able to: Use setTimeout for delayed execution Use setInterval for repeated execution Clear timers with clearTimeout and clearInterval Build countdown timers Create animation loops I

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 7: Date and Time

By the end of this lesson, you will be able to: Create and manipulate Date objects Format dates for display Work with timestamps Calculate time differences Handle time zones Create date utilities

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 8: Regular Expressions

By the end of this lesson, you will be able to: Understand regex syntax and patterns Use regex for pattern matching Validate input with regex Replace text using regex Extract data from strings Create common regex pattern

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 9: Debugging Tools

By the end of this lesson, you will be able to: Use Chrome DevTools effectively Set breakpoints and step through code Inspect variables and call stack Use the network inspector Debug asynchronous code Profile application

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Module 4: Modern ES6+ Features

Goal: Write clean, modular, and modern code using ES6+ features.

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 1: Arrow Functions Deep Dive

By the end of this lesson, you will be able to: Understand arrow function syntax and benefits Know when to use arrow functions vs regular functions Understand lexical this binding in arrow functions Use arrow functions w

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 10: Mini Project - GitHub Profile Finder

By the end of this lesson, you will be able to: Build a complete GitHub profile finder application Use GitHub API with modern JavaScript features Implement advanced async/await patterns Apply all ES6+ features learned in

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 2: Default Parameters & Optional Chaining

By the end of this lesson, you will be able to: Use default parameters in functions Implement optional chaining for safe property access Use nullish coalescing operator Handle undefined/null values gracefully Write more

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 3: Promises & Async/Await Patterns

By the end of this lesson, you will be able to: Use advanced Promise methods (allSettled, any, race) Implement proper async/await error handling Execute promises in parallel vs sequential Create reusable async utilities

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 4: Iterators & Generators

By the end of this lesson, you will be able to: Understand iterator protocol and iterable objects Create custom iterators using Symbol.iterator Use generator functions with yield Implement lazy evaluation with generators

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 5: Map, Set, WeakMap, WeakSet

By the end of this lesson, you will be able to: Use Map for key-value pairs with any key type Use Set for unique value collections Understand WeakMap and WeakSet for memory management Choose the right collection type for

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 6: Symbols and Metadata

By the end of this lesson, you will be able to: Understand what symbols are and why they're useful Create and use symbols as unique identifiers Use well-known symbols (Symbol.iterator, Symbol.toPrimitive) Implement symbo

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 7: Modules with Webpack / Vite

By the end of this lesson, you will be able to: Set up Webpack for modern JavaScript development Configure Vite for fast development Bundle modules for production Use modern build tools effectively Optimize bundle size a

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 8: Transpiling with Babel

By the end of this lesson, you will be able to: Configure Babel for JavaScript transpilation Use Babel presets and plugins Transpile modern JavaScript to older versions Set up Babel with different environments Understand

閱讀文章 →
JavaScript EN 更新於 2026-02-03

Lesson 9: Error Handling Patterns

By the end of this lesson, you will be able to: Implement comprehensive error handling strategies Create custom error classes Use error boundaries in applications Handle errors in async operations Build robust error repo

閱讀文章 →