第二章 为什么选择 JavaScript?

体育365 📅 2025-10-29 20:19:40 ✍️ admin 👁️ 5163 ❤️ 738
第二章 为什么选择 JavaScript?

第二章 为什么选择 JavaScript?世面上有很多编程语言。为什么要使用 JavaScript?本章将探讨在选择编程语言时需要考虑的七个重要方面,并论证 JavaScript 在总体上表现出色:

它是免费可用的吗?它是一种优雅的编程语言吗?它在实践中有用吗?它有好的工具吗,特别是好的集成开发环境(IDE)?它的速度足以满足您的需求吗?它被广泛使用吗?它有未来吗?JavaScript 是免费可用的吗?JavaScript 可以说是现存最开放的编程语言:其规范 ECMA-262 是 ISO 标准。该规范得到了来自独立方的许多实现的密切遵循。其中一些实现是开源的。此外,该语言的演变由 TC39 处理,该委员会由包括所有主要浏览器供应商在内的多家公司组成。这些公司通常是竞争对手,但为了语言的利益,他们走到了一起。

JavaScript 优雅吗?既是又不是。我用几种不同范式的编程语言编写了相当数量的代码。因此,我很清楚 JavaScript 并不是优雅的巅峰。但是,它是一种非常灵活的语言,具有相当优雅的核心,并且允许您混合使用面向对象编程和函数式编程。

JavaScript 引擎之间的语言兼容性曾经是一个问题,但现在不再是了,这在一定程度上要归功于test262 套件,该套件会检查引擎是否符合 ECMAScript 规范。相比之下,浏览器和 DOM 的差异仍然是一个挑战。这就是为什么通常最好依靠框架来隐藏这些差异的原因。

JavaScript 有用吗?世界上最美丽的编程语言,除非它能让你写出你需要的程序,否则毫无用处。

图形用户界面在图形用户界面领域,JavaScript 受益于它是HTML5的一部分。在本节中,我使用术语 HTML5 来指代“浏览器平台”(HTML、CSS 和浏览器 JavaScript API)。HTML5 已被广泛部署,并且在不断发展。它正逐渐成为一个完整的层,用于编写功能齐全的跨平台应用程序;类似于 Java 平台,它几乎就像一个嵌入式操作系统。HTML5 的一个卖点是它允许您编写跨平台的图形用户界面。这些始终是一种妥协:您放弃了一些质量,以换取不局限于单一操作系统。过去,“跨平台”意味着 Windows、Mac OS 或 Linux。但我们现在还有两个额外的交互式平台:网络和移动设备。借助 HTML5,您可以通过PhoneGap、Chrome Apps和TideSDK等技术来定位所有这些平台。

此外,一些平台将网络应用程序作为原生应用程序,或者允许您以原生方式安装它们,例如 Chrome OS、Firefox OS 和 Android。

补充 JavaScript 的其他技术除了 HTML5 之外,还有更多技术可以补充 JavaScript 并使该语言更有用:

库JavaScript 有大量的库,使您能够完成从解析 JavaScript(通过Esprima)到处理和显示 PDF 文件(通过PDF.js)的各种任务。

Node.js

Node.js 平台允许您编写服务器端代码和 shell 脚本(构建工具、测试运行器等)。JSON(JavaScript 对象表示法,在第二十二章中介绍)JSON是一种源于 JavaScript 的数据格式,已成为在 Web 上交换数据的流行方式(例如,Web 服务的结果)。NoSQL 数据库(例如CouchDB和MongoDB)这些数据库紧密集成了 JSON 和 JavaScript。JavaScript 有好的工具吗?JavaScript 正在获得更好的构建工具(例如,Grunt)和测试工具(例如,mocha)。Node.js 使得通过 shell(而不仅仅是在浏览器中)运行这些工具成为可能。这个领域的风险是碎片化,因为我们正在逐渐获得太多这样的工具。

JavaScript IDE 领域仍处于起步阶段,但正在迅速发展。Web 开发的复杂性和动态性使该领域成为创新的沃土。两个开源示例是Brackets和Light Table。

此外,浏览器正在成为功能越来越强大的开发环境。特别是 Chrome,最近取得了令人瞩目的进步。未来 IDE 和浏览器将如何进一步集成,这将是一件很有趣的事情。

JavaScript 的速度够快吗?JavaScript 引擎已经取得了巨大的进步,从缓慢的解释器发展到快速的即时编译器。它们现在的速度足以满足大多数应用程序的需求。此外,新的想法已经在开发中,以使 JavaScript 的速度足以满足其余应用程序的需求:

asm.js是 JavaScript 的一个(非常静态的)子集,可以在当前引擎上快速运行,速度大约是编译后的 C++ 的 70%。例如,它可以用来实现 Web 应用程序中性能至关重要的算法部分。它也被用来将基于 C++ 的游戏移植到 Web 平台。

ParallelJS可以并行化使用新的数组方法mapPar、filterPar和reducePar(现有数组方法map、filter和reduce的可并行化版本)的 JavaScript 代码。为了使并行化工作,回调必须以特殊样式编写;主要限制是您不能改变未在回调内部创建的数据。JavaScript 被广泛使用吗?被广泛使用的语言通常有两个好处。首先,这样的语言有更好的文档和支持。其次,更多的程序员了解它,这在您需要雇用人员或为基于该语言的工具寻找客户时非常重要。

JavaScript 被广泛使用,并且获得了上述两项好处

如今,JavaScript 的文档和支持有多种形式:书籍、播客、博客文章、电子邮件简报、论坛等等。第三十三章为您指出了重要的资源。JavaScript 开发人员的需求量很大,但他们的队伍也在不断壮大。JavaScript 有未来吗?有几件事表明JavaScript 有着光明的未来:

该语言正在稳步发展;ECMAScript 6 看起来不错。有许多与 JavaScript 相关的创新(例如,前面提到的 asm.js 和 ParallelJS、微软的 TypeScript 等)。JavaScript 所属的 Web 平台正在迅速成熟。JavaScript 得到了广泛的公司联盟的支持,没有任何个人或公司控制它。结论考虑到前面列出的使一种语言具有吸引力的因素,JavaScript 的表现非常出色。它当然不完美,但在目前,它很难被击败,而且情况只会越来越好。

相关推荐

2018年国际足协世界杯
英国365bet

2018年国际足协世界杯

📅 06-29 👁️ 4319
Win是哪个键?详解键盘上的Win键功能与位置
英国365bet

Win是哪个键?详解键盘上的Win键功能与位置

📅 10-19 👁️ 2098
英雄联盟禁用了哪些英雄为什么
英国365bet

英雄联盟禁用了哪些英雄为什么

📅 07-12 👁️ 6588