10 天 996 写出的语言 - JavaScript

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

在 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 开发提供了一套严格的开发规范。


责任编辑:武晓燕 来源: ByteByteGo
相关推荐

2021-09-01 08:55:20

JavaScript代码开发

2021-11-30 10:20:24

JavaScript代码前端

2019-09-20 15:47:24

代码JavaScript副作用

2023-10-20 09:04:08

JavaScript语言Java

2024-03-28 14:29:46

JavaScript编程

2020-06-10 07:49:56

Python代码开发工具

2022-07-07 09:19:24

JavaScript代码样式规则

2023-06-19 15:36:30

JavaScrip技巧开发

2020-03-04 13:55:44

程序员技能开发者

2021-10-14 14:00:44

996加班工作

2013-03-26 10:27:01

JavaScriptjson

2021-11-08 07:48:48

Go语言对象

2022-12-02 10:39:59

四天工作制技术开发工作效率

2023-08-02 18:44:47

JavaScript命名web

2019-07-31 10:24:16

JavaScript浏览器口袋妖怪

2017-07-27 15:05:18

前端JavaScript难点

2013-12-17 09:12:04

2021-09-06 15:46:08

996职场数据

2021-03-15 08:13:19

JavaScript开发代码

2011-06-30 16:10:01

JavaScript
点赞
收藏

51CTO技术栈公众号