10 天 996 写出的语言 - JavaScript

本文转自 公众号 ByteByteGo,如有侵权,请联系,立即删除

10 天 996 写出的语言 - JavaScript

在 JavaScript 之前,网页主要是静态的,任何交互性都必须在服务器端处理,导致用户体验笨拙和缓慢。JavaScript 的发明是由于需要向网页添加更多动态和交互功能。

1995 年 5 月,Brendan Eich 被指派开发一种新的脚本语言,这种语言将补充 Java 的功能,使Web 浏览器能够实现动态内容和交互性。**Eich 在短短 10 天内完成了这种语言的首个版本。**这种快速开发是为了满足网景浏览器 2.0 的紧迫发布日程。

这种紧迫开发日程的背后原因是网景与微软之间的浏览器战争。网景希望通过快速增强 Web 的交互性来保持对 Internet Explorer 的优势。这种语言最初被称为 Mocha,后来更名为 LiveScript,最终在 1995 年 9 月随网景浏览器 2.0 B3 一起发布。到了同年 12 月,它正式更名为 JavaScript。这是网景出于营销考虑,利用了 Java 的流行度,尽管这两种语言在设计和目的上有很大的不同。

多年来,JavaScript 已经从一个简单的脚本语言成长为一种强大的、成熟的编程语言,能够创建复杂的 Web 应用程序、服务器端应用程序(使用Node.js)、移动应用程序,甚至是游戏。

随着 JavaScript 的普及增加,对其标准化的需求也随之增长。这导致了 ECMAScript 标准的创建。标准化使 JavaScript 在不同的Web浏览器中更加一致和可靠。

此外,JavaScript 框架和类库的出现,如 jQuery、Angular、React 和 Vue,极大地简化了复杂Web应用程序的开发,使 JavaScript 成为 Web 开发人员不可或缺的工具。

下图列举了 JavaScript 的最重要特征。

图片

01 解释型语言

JavaScript 代码由浏览器或 JavaScript 引擎执行,而不是事先编译成机器语言。这使得它在不同平台上具有很高的可移植性。V8 等现代引擎利用即时 (JIT) 技术将代码编译成可直接执行的机器代码。

02 函数是一等公民

在 JavaScript 中,函数被视为一等公民,这意味着它们可以存储在变量中,可以作为参数传递给其他函数,也可以从函数中返回。

03 动态类型

JavaScript 是一种松散类型或动态语言,这意味着我们不必提前声明变量的类型,而且类型可以在运行时改变。

04 客户端执行

JavaScript 支持异步编程,允许在后台运行读取文件、HTTP 请求或查询数据库等操作,并在完成后触发回调或承诺。这在网络开发中对提高性能和用户体验特别有用

05 基于原型的 OOP

与基于类的面向对象语言不同,JavaScript 使用原型进行继承。这意味着对象可以从其他对象继承属性和方法。

06 自动垃圾回收

JavaScript 中的垃圾回收是一种自动内存管理。垃圾回收的主要目的是回收程序不再使用的对象所占用的内存,这有助于防止内存泄漏并优化应用程序的性能。

07 与其他语言相比

JavaScript 与 Python 或 Java 等编程语言相比比较特殊,因为它是网络开发的主要语言。

Python 以提供良好的代码可读性和多功能性著称,Java 以其结构性和健壮性著称,而 JavaScript 是一种解释型语言,无需编译即可直接在浏览器上运行,强调灵活性和动态性。

08 与 TypeScript 的关系

TypeScript 是 JavaScript 的超集,这意味着它通过向 JavaScript 语言添加功能(最显著的是类型注解)来扩展 JavaScript。这种关系允许任何有效的 JavaScript 代码也被视为有效的 TypeScript 代码。

09 流行的 JavaScript 框架

React 以其灵活性和大量社区驱动的插件而闻名,而 Vue 则简洁直观,具有高度集成和响应性功能。另一方面,Angular 为企业级 JS 开发提供了一套严格的开发规范。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xwhking

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值