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 由 Netscape 的 Brendan Eich 创建 |
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 的直接竞争对手,但它对其进行了补充,允许开发者使用如 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 = 'Click me!';
button.addEventListener('click', () => {
alert('Button clicked!');
});
document.body.appendChild(button);
});
这段代码创建了一个按钮,当点击时,会显示一个警告。它使用标准的 DOM 操作方法,这些方法在所有现代浏览器中都得到支持。
总之,JavaScript 从一个10天的项目成长为世界上最重要的编程语言之一,其历程令人难以置信。它不断进化和适应的能力使其在25年的时间里一直保持相关性,并且没有放缓的迹象。在你继续编程之旅时,记住你写的每一行 JavaScript 代码都是这个持续故事的一部分。快乐编码!
Credits: Image by storyset