
- JavaScript 基礎教程
- JavaScript - 首頁
- JavaScript - 路線圖
- JavaScript - 概述
- JavaScript 特性
- JavaScript - 啟用
- JavaScript - 位置
- JavaScript - 語法
- JavaScript - Hello World
- JavaScript - Console.log()
- JavaScript - 註釋
- JavaScript - 變數
- JavaScript - let 語句
- JavaScript - 常量
- JavaScript - 資料型別
- JavaScript - 型別轉換
- JavaScript - 嚴格模式
- JavaScript - 保留關鍵字
- JavaScript 運算子
- JavaScript - 運算子
- JavaScript - 算術運算子
- JavaScript - 比較運算子
- JavaScript - 邏輯運算子
- JavaScript - 位運算子
- JavaScript - 賦值運算子
- JavaScript - 條件運算子
- JavaScript - typeof 運算子
- JavaScript - 空值合併運算子
- JavaScript - delete 運算子
- JavaScript - 逗號運算子
- JavaScript - 分組運算子
- JavaScript - yield 運算子
- JavaScript - 展開運算子
- JavaScript - 指數運算子
- JavaScript - 運算子優先順序
- JavaScript 控制流
- JavaScript - if...else
- JavaScript - while 迴圈
- JavaScript - for 迴圈
- JavaScript - for...in
- JavaScript - for...of
- JavaScript - 迴圈控制
- JavaScript - break 語句
- JavaScript - continue 語句
- JavaScript - switch case
- JavaScript - 使用者自定義迭代器
- JavaScript 函式
- JavaScript - 函式
- JavaScript - 函式表示式
- JavaScript - 函式引數
- JavaScript - 預設引數
- JavaScript - Function() 建構函式
- JavaScript - 函式提升
- JavaScript - 自執行函式
- JavaScript - 箭頭函式
- JavaScript - 函式呼叫
- JavaScript - Function call()
- JavaScript - Function apply()
- JavaScript - Function bind()
- JavaScript - 閉包
- JavaScript - 變數作用域
- JavaScript - 全域性變數
- JavaScript - 智慧函式引數
- JavaScript 物件
- JavaScript - Number
- JavaScript - Boolean
- JavaScript - String
- JavaScript - Array
- JavaScript - Date
- JavaScript - DataView
- JavaScript - Handler
- JavaScript - Math
- JavaScript - RegExp
- JavaScript - Symbol
- JavaScript - Set
- JavaScript - WeakSet
- JavaScript - Map
- JavaScript - WeakMap
- JavaScript - 可迭代物件
- JavaScript - Reflect
- JavaScript - TypedArray
- JavaScript - 模板字面量
- JavaScript - 標籤模板
- 面向物件的 JavaScript
- JavaScript - 物件
- JavaScript - 類
- JavaScript - 物件屬性
- JavaScript - 物件方法
- JavaScript - 靜態方法
- JavaScript - 顯示物件
- JavaScript - 物件訪問器
- JavaScript - 物件建構函式
- JavaScript - 原生原型
- JavaScript - ES5 物件方法
- JavaScript - 封裝
- JavaScript - 繼承
- JavaScript - 抽象
- JavaScript - 多型
- JavaScript - 解構賦值
- JavaScript - 物件解構
- JavaScript - 陣列解構
- JavaScript - 巢狀解構
- JavaScript - 可選鏈
- JavaScript - 全域性物件
- JavaScript - Mixins
- JavaScript - 代理 (Proxies)
- JavaScript 版本
- JavaScript - 歷史
- JavaScript - 版本
- JavaScript - ES5
- JavaScript - ES6
- ECMAScript 2016
- ECMAScript 2017
- ECMAScript 2018
- ECMAScript 2019
- ECMAScript 2020
- ECMAScript 2021
- ECMAScript 2022
- JavaScript 非同步程式設計
- JavaScript - 非同步程式設計
- JavaScript - 回撥函式
- JavaScript - Promise
- JavaScript - Async/Await
- JavaScript - 微任務
- JavaScript - Promisification (Promise 化)
- JavaScript - Promise 鏈式呼叫
- JavaScript - 定時事件
- JavaScript - setTimeout()
- JavaScript - setInterval()
- JavaScript Cookie
- JavaScript - Cookie
- JavaScript - Cookie 屬性
- JavaScript - 刪除 Cookie
- JavaScript 瀏覽器 BOM
- JavaScript - 瀏覽器物件模型
- JavaScript - Window 物件
- JavaScript - Document 物件
- JavaScript - Screen 物件
- JavaScript - History 物件
- JavaScript - Navigator 物件
- JavaScript - Location 物件
- JavaScript - Console 物件
- JavaScript Web APIs
- JavaScript - Web API
- JavaScript - History API
- JavaScript - Storage API
- JavaScript - Forms API
- JavaScript - Worker API
- JavaScript - Fetch API
- JavaScript - Geolocation API
- JavaScript 事件
- JavaScript - 事件
- JavaScript - DOM 事件
- JavaScript - addEventListener()
- JavaScript - 滑鼠事件
- JavaScript - 鍵盤事件
- JavaScript - 表單事件
- JavaScript - 視窗/文件事件
- JavaScript - 事件委託
- JavaScript - 事件冒泡
- JavaScript - 事件捕獲
- JavaScript - 自定義事件
- JavaScript 錯誤處理
- JavaScript - 錯誤處理
- JavaScript - try...catch
- JavaScript - 除錯
- JavaScript - 自定義錯誤
- JavaScript - 擴充套件錯誤
- JavaScript 重要關鍵字
- JavaScript - this 關鍵字
- JavaScript - void 關鍵字
- JavaScript - new 關鍵字
- JavaScript - var 關鍵字
- JavaScript HTML DOM
- JavaScript - HTML DOM
- JavaScript - DOM 方法和屬性
- JavaScript - DOM 文件
- JavaScript - DOM 元素
- JavaScript - DOM 屬性 (Attr)
- JavaScript - DOM 表單
- JavaScript - 修改 HTML
- JavaScript - 修改 CSS
- JavaScript - DOM 動畫
- JavaScript - DOM 導航
- JavaScript - DOM 集合
- JavaScript - DOM NodeList
- JavaScript - DOM DOMTokenList
- JavaScript 其他
- JavaScript - Ajax
- JavaScript - 非同步迭代
- JavaScript - Atomics 物件
- JavaScript - Rest 引數
- JavaScript - 頁面重定向
- JavaScript - 對話方塊
- JavaScript - 頁面列印
- JavaScript - 驗證
- JavaScript - 動畫
- JavaScript - 多媒體
- JavaScript - 圖片地圖
- JavaScript - 瀏覽器
- JavaScript - JSON
- JavaScript - 多行字串
- JavaScript - 日期格式
- JavaScript - 獲取日期的方法
- JavaScript - 設定日期的方法
- JavaScript - 模組
- JavaScript - 動態匯入
- JavaScript - BigInt
- JavaScript - Blob
- JavaScript - Unicode
- JavaScript - 淺複製
- JavaScript - 呼叫棧
- JavaScript - 引用型別
- JavaScript - IndexedDB
- JavaScript - 點選劫持攻擊
- JavaScript - 柯里化
- JavaScript - 圖形
- JavaScript - Canvas
- JavaScript - 防抖
- JavaScript - 效能
- JavaScript - 風格指南
JavaScript 特性
JavaScript 特性
JavaScript 是一種非常流行且廣泛使用的用於 Web 開發的程式語言。它具有多種特性,使其功能強大且靈活。其中一些特性包括動態性、輕量級、解釋型、函式式和麵向物件。
許多開源 JavaScript 庫可用,這方便了 JavaScript 在前端和後端開發中的使用。讓我們重點介紹一些 JavaScript 的關鍵特性。
輕鬆設定
我們不需要特定的編輯器來開始編寫 JavaScript 程式碼。甚至任何人都可以在記事本中編寫 JavaScript 程式碼。此外,JavaScript 可以在瀏覽器中執行,無需任何直譯器或編譯器設定。
您可以使用<script>標籤在 HTML 檔案中新增 JavaScript。但是,它也允許您從具有 '.js' 副檔名的外部 JavaScript 檔案向網頁新增 JavaScript。
瀏覽器支援
所有瀏覽器都支援 JavaScript,因為所有現代瀏覽器都帶有內建的 JavaScript 執行環境。
但是,您也可以使用 'window' 物件來檢查瀏覽器是否支援 JavaScript 或其特定功能。
DOM 操作
JavaScript 允許開發人員操作網頁元素。此外,您可以控制瀏覽器。
它包含各種方法,可以使用不同的屬性訪問 DOM 元素,並允許自定義 HTML 元素。
事件處理
JavaScript 允許您處理用於與網頁互動的事件。
例如,您可以使用 JavaScript 檢測對特定 HTML 元素的滑鼠點選,並與 HTML 元素進行互動。
還存在其他一些事件,例如檢測網頁的滾動行為等。我們將在“JavaScript 事件”章節中探討所有事件。
動態型別
JavaScript 在執行時決定變數的型別。因此,我們在編寫程式碼時無需關心變數的資料型別,這提供了更大的程式碼編寫靈活性。
此外,您可以將不同資料型別的賦值給同一個變數。例如,如果您儲存了特定變數的數值,則可以使用字串更新該變數的值。
函數語言程式設計
JavaScript 支援函式式程式設計。在 JavaScript 中,您可以定義一等函式、純函式、閉包、高階函式、箭頭函式、函式表示式等。
它主要使用函式作為解決問題的基本構建塊。
跨平臺支援
每個作業系統和瀏覽器都支援 JavaScript。因此,它被廣泛用於開發網站、移動應用程式、遊戲、桌面應用程式等。
面向物件程式設計
JavaScript 包含類,我們可以使用其功能實現所有面向物件程式設計概念。
它還支援面向物件程式設計的繼承、抽象、多型、封裝等概念。
內建物件
JavaScript 包含內建物件,例如 Math 和 Date。我們可以使用 Math 物件執行數學運算,使用 Date 物件輕鬆操作日期。
但是,您也可以操作內建物件的功能。
物件原型
在 JavaScript 中,一切都是物件。例如,陣列、函式、數字、字串、布林值、集合、對映等都是物件。
每個物件都包含一個原型屬性,該屬性是隱藏的。您可以使用原型屬性透過其他物件的功能來實現繼承或擴充套件類或物件的功能。
全域性物件
JavaScript 包含全域性物件來訪問在任何地方都可用的變數。
要在瀏覽器中訪問全域性變數,您可以使用window物件;在 Node.js 中,您可以使用 'global' 關鍵字訪問全域性變數。
最近,引入了globalThis關鍵字來訪問全域性變數,並且大多數執行時環境都支援它。
內建方法
JavaScript 還包含每個物件的內建方法。開發人員可以使用內建方法編寫高效且更簡潔的程式碼。
例如,Array 物件包含用於過濾陣列元素的 filter() 方法和用於排序陣列的 sort() 方法。String 物件包含用於替換字串中文字的 replace() 方法,用於刪除字串中空格的 trim() 方法等。
模組化程式設計
JavaScript 允許您將程式碼編寫在不同的模組中,並將其與父模組連線起來。因此,開發人員可以編寫易於維護的程式碼。
透過將程式碼編寫在單獨的模組中,您可以降低程式碼的複雜性,並在需要時重用每個模組。
JSON
JSON 代表 JavaScript 物件表示法。它是一種廣泛使用的用於在兩個網路之間交換資料的資料格式。例如,伺服器和客戶端。
JavaScript 還支援 JSON 格式來儲存資料。
非同步程式設計
JavaScript 是一種單執行緒程式語言。為了更快地執行程式碼,您可以使用非同步程式設計。
您可以在 JavaScript 中使用 Promise 來編寫非同步程式碼,允許我們非同步處理多個任務。
事件驅動架構
JavaScript 的事件驅動架構允許開發人員透過同時處理大量使用者來建立互動式和響應迅速的 Web 應用程式。
由於 JavaScript 的廣泛功能和應用,Facebook 的前端是基於 JavaScript 構建的。Netflix 使用 JavaScript 的 ReactJS 框架構建。類似地,亞馬遜、PayPal、Airbnb、領英、推特等也都是使用 JavaScript 構建的。
伺服器端支援
JavaScript 的 Node.js 執行時環境被廣泛用於建立應用程式的後端,因為 JavaScript 也可用於建立伺服器。它允許您為應用程式建立可擴充套件的後端。