JavaScript - 歷史
JavaScript 的歷史
你好,有志於成為程序員的各位!今天,我們將踏上一段迷人的旅程,探索 JavaScript 的歷史。作為你們友善的鄰居電腦老師,我非常興奮能與你們分享這個故事。相信我,這比你想像中要有趣多了!
JavaScript,通常縮寫為 JS,是當今世界上最受歡迎的編程語言之一。但你知道它只用了 10 天就創造出來了嗎?讓我們來探索它的起源。
JavaScript 的誕生
回到 1995 年,一位名叫 Brendan Eich 的傑出程序員在 Netscape Communications 工作。當時的互聯網還很年輕,網頁大多數是靜態的。Netscape 想讓網頁變得更加動態和互動。他們指派 Eich 創造一種可以在他們的瀏覽器 Netscape Navigator 中運行的編程語言。
Eich 接受了挑戰,並在短短 10 天內創造了 JavaScript 的第一個版本。起初,它被稱為 "Mocha",然後短暫稱為 "LiveScript",最終確定為 "JavaScript"。這個名字是為了借力 Java 的流行,儘管這兩種語言有很大的不同!
以下是一個早期的 JavaScript 範例:
alert("Hello, World!");
這段代碼會在瀏覽器中創建一個彈出框,顯示訊息 "Hello, World!"。簡單,但在當時卻具有革命性!
JavaScript 的標準化
隨著 JavaScript 的流行,它需要被標準化。在 1997 年,JavaScript 被提交給 ECMA International 進行標準化,從而產生了 ECMAScript 規範。ECMAScript 是這種語言的官方名稱,而 JavaScript 是最著名的實現。
以下是一個 JavaScript 語法演變的範例:
// ECMAScript 3 (1999)
var greeting = "Hello, World!";
alert(greeting);
// ECMAScript 6 (2015)
let greeting = "Hello, World!";
console.log(greeting);
注意我們從 var
換到 let
來聲明變量,並從 alert
換到 console.log
來輸出。這些改變使語言更加健壯和對開發者更友好。
JavaScript 歷史表
讓我們來看看 JavaScript 歷史中的關鍵里程碑:
年份 | 事件 |
---|---|
1995 | JavaScript 由 Brendan Eich 在 Netscape 創造 |
1996 | JavaScript 提交給 ECMA International 進行標準化 |
1997 | ECMAScript 1 发布 |
1998 | ECMAScript 2 发布 |
1999 | ECMAScript 3 发布 |
2009 | ECMAScript 5 发布 |
2015 | ECMAScript 6 (ES6) 发布,帶來重大改進 |
2016-2021 | 每年發布 ECMAScript 的增量更新 |
JavaScript 的未來
自從 JavaScript 的卑微開始以來,它已經走了很長一段路,並且其未來看起來比以往任何時候都要光明。以下是一些令人興奮的趨勢:
1. Web Assembly
Web Assembly (WASM) 是一種二進制指令格式,讓高性能應用程序能在網頁瀏覽器中運行。雖然它不是 JavaScript 的直接競爭對手,但它補充了 JavaScript,讓開發者可以使用如 C++ 或 Rust 這樣的語言來開發性能關鍵部分。
2. 服務器端 JavaScript
有了像 Node.js 這樣的平台,JavaScript 已經超越了瀏覽器。以下是一個簡單的 Node.js 服務器:
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello, Server-Side JavaScript!');
});
server.listen(8080, () => {
console.log('Server running on port 8080');
});
這段代碼創建了一個簡單的 HTTP 服務器,當訪問時會回應 "Hello, Server-Side JavaScript!"。
3. 瀏覽器中的機器學習
像 TensorFlow.js 這樣的庫將機器學習能力直接帶到了瀏覽器。以下是一個簡單的範例:
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [1]}));
model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});
const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);
model.fit(xs, ys, {epochs: 10}).then(() => {
model.predict(tf.tensor2d([5], [1, 1])).print();
});
這段代碼創建了一個簡單的機器學習模型,學習預測 y = 2x - 1。
JavaScript 的瀏覽器支援
JavaScript 的優勢之一是它出色的瀏覽器支援。所有現代網頁瀏覽器都支援 JavaScript,包括:
- Google Chrome
- Mozilla Firefox
- Apple Safari
- Microsoft Edge
- Opera
每個瀏覽器都有自己的 JavaScript 引擎:
瀏覽器 | JavaScript 引擎 |
---|---|
Chrome | V8 |
Firefox | SpiderMonkey |
Safari | JavaScriptCore |
Edge | Chakra (舊) / V8 (新) |
這些引擎解釋和執行 JavaScript 代碼,通常具有出色的性能。以下是一個在所有現代瀏覽器上都可行的簡單代碼片段:
document.addEventListener('DOMContentLoaded', (event) => {
const button = document.createElement('button');
button.textContent = '點我!';
button.addEventListener('click', () => {
alert('按鈕被點擊!');
});
document.body.appendChild(button);
});
這段代碼創建了一個按鈕,當點擊時會顯示一個提示。它使用了標準的 DOM 操作方法,這些方法在所有現代瀏覽器中都得到支援。
總結來說,JavaScript 從一個 10 天的專案發展到世界上最重要的編程語言之一,其旅程令人難以置信。它不斷進化和適應的能力使它在過去 25 年中保持相關性,並沒有放慢的跡象。在你繼續你的編程旅程時,記住你寫的每一行 JavaScript 代碼都是這個持續故事的一部分。快樂編程!
Credits: Image by storyset