JavaScript 被开发为
- 轻的。一台 Windows 95 PC 可能有 0.002 gig 的内存 (2MB) 并运行 0.06 GHz (60Mhz) 的快速奔腾处理器。这样的设置没有资源来加载和执行 Microsoft C++,同时执行其他任何操作。内存分页超时工作。
- 比 Java 快。在早期的 Netscape 浏览器中启动 Java 引擎需要很长时间,因此使用 Java 访问网站需要在第一次遇到 Java 小程序时等待很长时间才能加载插件。仅仅因为这个原因,Java 客户端的使用从未真正占据一席之地。
- 易于学习和使用。这可能有点过火了,但是
- 支持未声明的变量(不是最好的主意),
- 所有变量都像一个 Basic Variant 变量——无需声明或管理变量类型。
- 没有指针。好吧,它们被称为“对象”变量,但不需要处理内存地址、结构或联合数据类型或类。
- 使用熟悉 C 系列语言的程序员熟悉的语法。
- 定义并引入了一个带有对象的环境,并内置了对全局对象的访问,以便在网页中进行编程。
- 有一些错误,比如为 null 的数据类型返回“对象”,并声称对象是类,但没关系。
可以说 JavaScript 是一种高级语言,特别是与 C 相比……许多人都知道它是一种“高级汇编语言”。
最后,学习和使用一些最小的 JavaScript 来影响网页具有成本效益 - 引入时就是它的全部目的。
其他选择可以相当简单地排除:可能没有考虑诸如 Pascal 之类的高级语言,Java 太慢,C 太低级,Visual Basic for Applications (vba) 是 Microsoft Corporation 的专有产品。
TLDR;
它被设计成看起来像开发人员已经知道的东西,并且在检查时不会花费太多精力。Netscape 希望开发人员使用网页“编程”来鼓励使用他们的浏览器。其他事实被告知,包括使用“Java”作为语言名称的一部分。
更多:
正如 MDN WebAssembly 所述,它不是 JavaScript 的替代品,但在浏览器上下文中确实支持对 JavaScript 函数包装器的调用。
1995 年,在 Netscape navigator 的 2.02 beta 版本中以“Livescript”的名义引入了 JavaScript 的初步版本。它引入了<script>
标签并将 Netsape 浏览器内部的部分内容暴露给页面脚本 - 主要是为了支持将 HTML 注入页面源和处理鼠标以及由表单控件和页面导航生成的键盘事件。
在这个时候(一开始),既没有需求也没有 Web 生态系统适合 WebAssembly:XMLHttpRequest、DOM、CSSOM、WebGL、IndexedDB、Web Audio API 等的接口距离开发还有几年或几十年的时间,实施和标准化。Netscape 最初是使用 Brendan Eich 在十天内编写的脚本引擎来创造对 Web 脚本的需求。