You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/zh-TW/3-terrarium/3-intro-to-DOM-and-closures/assignment.md

130 lines
5.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# DOM 元素調查作業
## 概述
現在你已經親身體驗了 DOM 操作的威力,是時候探索更廣泛的 DOM 介面世界了。這個作業將加深你對不同網頁技術如何與 DOM 互動的理解,而不僅僅是拖曳元素。
## 學習目標
完成此作業後,你將能夠:
- **研究** 並深入理解特定的 DOM 介面
- **分析** 真實世界中 DOM 操作的實作
- **連結** 理論概念與實務應用
- **發展** 技術文件撰寫與分析能力
## 指示
### 步驟 1選擇你的 DOM 介面
造訪 MDN 的完整[DOM 介面列表](https://developer.mozilla.org/docs/Web/API/Document_Object_Model),選擇一個你感興趣的介面。你可以考慮從以下分類中挑選以增加多樣性:
**初學者友善選項:**
- `Element.classList` - 動態管理 CSS 類別
- `Document.querySelector()` - 進階元素選取
- `Element.addEventListener()` - 指標事件以外的事件處理
- `Window.localStorage` - 用戶端資料儲存
**中級挑戰:**
- `Intersection Observer API` - 偵測元素可見性
- `MutationObserver` - 監視 DOM 變更
- `Drag and Drop API` - 我們指標基礎方法的替代方案
- `Geolocation API` - 存取使用者位置
**進階探索:**
- `Web Components` - 自訂元素與 Shadow DOM
- `Canvas API` - 程式化繪圖
- `Web Workers` - 背景處理
- `Service Workers` - 離線功能
### 步驟 2研究並撰寫文件
製作一份全面的分析300-500 字),內容包含:
#### 技術概述
- **定義** 你選擇的介面是什麼,使用簡明易懂的語言說明
- **說明** 它提供的主要方法、屬性或事件
- **描述** 此介面設計用以解決的問題類型
#### 真實世界的實作
- **尋找** 一個使用你選擇介面的網站(可透過檢查程式碼或研究範例)
- **紀錄** 具體的實作方式,若可行附上程式碼片段
- **分析** 為何開發者會採用這種方法
- **說明** 它如何提升使用者體驗
#### 實務應用
- **比較** 你的介面與我們在玻璃罐專案中使用的技術
- **建議** 你的介面如何增強或擴展玻璃罐功能
- **指出** 其他適合使用此介面的專案範例
### 步驟 3程式碼範例
包含一個簡單、可運行的程式碼範例,展示你的介面使用方式,該程式碼應該:
- **功能完整** - 測試時能正常運作
- **有註解** - 解釋每個部分的作用
- **相關** - 與實際使用案例連結
- **易於初學者理解** - 讓學網頁開發的人易於了解
## 提交格式
以清楚標題結構組織你的提交內容:
```markdown
# [Interface Name] DOM Investigation
## What It Does
[Technical overview]
## Real-World Example
[Website analysis and implementation details]
## Code Demonstration
[Your working example with comments]
## Reflection
[How this connects to our terrarium project and future applications]
```
## 評分標準
| 評分項目 | 優異 (A) | 良好 (B) | 進步中 (C) | 需改進 (D) |
|----------|----------------|----------------|------------------|------------------|
| **技術理解** | 展示深入理解,解釋精確且用詞正確 | 展示紮實理解,解釋大致準確 | 基本理解,有部分誤解 | 理解不足,有重大錯誤 |
| **真實世界分析** | 確實辨認並深入分析具體實作範例 | 找出範例且分析適當 | 有範例但分析不夠深入 | 例子模糊或不準確 |
| **程式碼範例** | 可運作且註解良好的示範程式碼 | 功能正常且註解適中 | 程式可用但註解較少 | 程式錯誤或解釋不清楚 |
| **寫作品質** | 文字清楚、有吸引力,結構與技術溝通良好 | 組織佳且技術寫作良好 | 組織與清晰度適中 | 組織差或表達不清 |
| **批判思考** | 提出深入連結與創新應用建議 | 良好的分析與相關連結 | 部分分析但可更深入 | 缺乏批判思考證據 |
## 成功小撇步
**研究策略:**
- **從** MDN 文件開始,取得權威資訊
- **尋找** GitHub 或 CodePen 的程式碼範例
- **利用** 瀏覽器開發者工具檢視熱門網站
- **觀看** 教學影片以輔助理解
**寫作指南:**
- **用** 自己的話取代文件複製
- **包含** 具體範例與程式碼片段
- **像對朋友解釋** 談技術概念
- **將** 你的介面與更廣泛的網頁開發概念連結
**程式碼範例靈感:**
- **製作** 展示介面主要功能的簡單示範
- **結合** 玻璃罐專案的概念(如適用)
- **重點放在** 功能而非視覺設計
- **測試** 程式碼確保正常運作
## 提交期限
[請在此填寫截止日期]
## 有問題嗎?
如果對本作業的任何部分有疑問,請隨時提問!這個調查將深化你對 DOM 如何實現我們日常互動式網頁體驗的理解。
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責聲明**
本文件係使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於重要資訊,建議採用專業人工翻譯。我們不對因使用本翻譯而導致之任何誤解或誤釋承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->