
- 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 - 刪除運算子
- 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 - 字串
- JavaScript - 陣列
- JavaScript - 日期
- JavaScript - DataView
- JavaScript - 處理程式
- JavaScript - Math
- JavaScript - RegExp
- JavaScript - Symbol
- JavaScript - 集合
- JavaScript - WeakSet
- JavaScript - 對映
- JavaScript - WeakMap
- JavaScript - 可迭代物件
- JavaScript - Reflect
- JavaScript - 型別化陣列
- 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 - 代理
- 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 - 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 API
- 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 - Clickjacking 攻擊
- JavaScript - 柯里化
- JavaScript - 圖形
- JavaScript - Canvas
- JavaScript - 防抖
- JavaScript - 效能
- JavaScript - 樣式指南
JavaScript - 歷史
JavaScript 改變了網站、應用程式和遊戲開發的世界,並徹底改變了數字行業。JavaScript 主要與 HTML 和 CSS 結合使用來開發應用程式介面。然而,如今它也用作伺服器端程式語言。在全球範圍內,根據 Stack Overflow 2023 年的調查,大約 63% 的開發人員正在使用 JavaScript。
JavaScript 的歷史
讓我們討論一下 JavaScript 的簡史。
JavaScript 的第一階段開發
1993 年,一些開發人員釋出了帶有圖形介面的網路瀏覽器 Mosaic。1994 年,Mosaic 網路瀏覽器的首席開發人員創立了 Netscape。他們還發布了名為 Netscape Navigator 的瀏覽器。
直到 1996 年,網站都是靜態的,只包含 HTML 和 CSS。因此,需要向網頁新增動態行為以使網站更具互動性。需要指令碼語言來向網頁新增動態行為。
Netscape 的首席軟體開發人員 Brendan Eich 在 1995 年 9 月內 10 天內開發了這種指令碼語言。“Mocha”是新開發的指令碼語言的名稱,後來更名為“LiveScript”,然後更名為“JavaScript”。
JavaScript 的名稱來源於“Java”語言。Java 在當時是最流行的語言,並且由於指令碼語言的加入而增加了指令碼。
JavaScript 的標準化
JavaScript 在開發時僅受 Internet Explorer 瀏覽器支援。但是,Internet Explorer 瀏覽器現在已棄用。
1997 年,為了在所有網路瀏覽器中推廣 JavaScript,Netscape 向歐洲計算機制造商協會 (ECMA) 提交了一份關於標準化 JavaScript 的提案。
這就是 ECMAScript (ES) 如何進入開發世界的。之後,JavaScript 開發人員社群和 Netscape 不斷更新 JavaScript,向 JavaScript 新增新功能併發布新版本,例如 ES1、ES2、…、ES13 等。
JavaScript 的最新版本是 ES13。
JavaScript 庫和框架
2005 年之後,JavaScript 開發發生了革命。
2006 年,開發了最流行的庫之一 JQuery,以使網站開發更容易。但是,JavaScript 如今支援數千個庫。
2010 年,引入了 Ember、Backbone 等框架。框架提供了應用程式的結構。2013 年,引入了名為 React 的最流行的框架之一。
伺服器端 JavaScript
2009 年,Ryan Dhal 引入了 NodeJS 執行時環境來建立伺服器端應用程式。由於 NodeJS,開發人員可以使用 JavaScript 進行全棧 Web 開發,JavaScript 不僅限於前端開發。
目前,Google 正在管理 NodeJS。
現代 JavaScript 和 ES6 釋出
2015 年,釋出了 ES6 版本的 JavaScript。在 Es6 版本中,JavaScript 開發人員對 JavaScript 進行了重大更改並添加了更多高階功能。
JavaScript 的最新版本 Es13 於 2022 年釋出。
JavaScript 歷史表
年份 | ECMAScript 版本 | 釋出的功能 |
---|---|---|
1995 | Brendan Eich 開發了 JavaScript。 | |
1996 | JavaScript 1.0 釋出。 | |
1997 | ES1 | JavaScript 由 ECMA 標準化,併發布了 ES1 版本。 |
1998 | ES2 | 釋出了 ES2 版本的 JavaScript。 |
1999 | ES3 | 釋出了 ES3 版本的 JavaScript。 |
2006 | 第一個庫 JQuery 開發用於使用 JavaScript。 | |
2008 | ES4 | JavaScript ES4 版本釋出。 |
2009 | NodeJS 被開發用於伺服器端程式語言。 | |
2009 | ES5 | JavaScript ES5 版本釋出。 |
2010 | 第一個框架 AngularJS 被開發出來。 | |
2013 | 最流行的 JavaScript 框架 ReactJS 被開發出來。 | |
2015 | ES6 | JavaScript ES6 版本釋出。 |
2016 | ES7 | JavaScript ES7 版本釋出。 |
2017 | ES8 | JavaScript ES8 版本釋出。 |
2018 | ES9 | JavaScript ES9 版本釋出。 |
2019 | ES10 | JavaScript ES10 版本釋出。 |
2020 | ES11 | JavaScript ES11 版本釋出。 |
2021 | ES12 | JavaScript ES12 版本釋出。 |
2022 | ES13 | JavaScript ES13 版本釋出。 |
JavaScript 的未來
在全球範圍內,98% 的網站使用 JavaScript 作為客戶端程式語言。
網站、應用程式、軟體等不斷增長的需求也增加了對 JavaScript 的需求。隨著時間的推移,開發者社群開發了更多由 JavaScript 支援的庫和框架,使得開發數字產品變得更加容易。
全球有 1400 多萬 JavaScript 開發者,並且這個數字還在不斷增長。總的來說,JavaScript 的未來一片光明。
JavaScript 瀏覽器支援
大多數現代瀏覽器都支援 JavaScript。
Chrome | Firefox | Microsoft Edge | Opera | Safari | Firefox Android |
---|---|---|---|---|---|
是 | 是 | 是 | 是 | 是 | 是 |