【发布时间】:2009-01-21 13:45:04
【问题描述】:
编程语言通常按其结构分类。迄今为止,有很多类型,包括(但不限于!):Procedural、Structured、Object-Oriented >、并发、功能、事件驱动、编译和解释( Source)。一些编程语言是这些结构的混合体,而另一些可能只属于上面列出的标题之一。
我的问题是:
JavaScript 可以归为哪一类语言?
【问题讨论】:
标签: javascript
编程语言通常按其结构分类。迄今为止,有很多类型,包括(但不限于!):Procedural、Structured、Object-Oriented >、并发、功能、事件驱动、编译和解释( Source)。一些编程语言是这些结构的混合体,而另一些可能只属于上面列出的标题之一。
我的问题是:
JavaScript 可以归为哪一类语言?
【问题讨论】:
标签: javascript
Javascript Wikipedia entry 告诉你。
JavaScript (/ˈdʒɑːvəˌskrɪpt/),通常缩写为 JS,是一种符合 ECMAScript 规范的编程语言。 JavaScript 是高级的,通常是即时编译的,并且是多范式的。它具有大括号语法、动态类型、基于原型的面向对象和一流的功能。
第三段接着说:
作为一种多范式语言,JavaScript 支持事件驱动、函数式和命令式编程风格(强调)。它具有用于处理文本、日期、正则表达式、标准数据结构和文档对象模型 (DOM) 的应用程序编程接口 (API)。
【讨论】:
关于您选择过程、结构化、面向对象、并发、功能、Event-Driven、Compiled、Interpreted作为计算机语言的“类型”,Javascript相当强大;它至少是(或可以是)Procedural、Structured、Object-Oriented、Functional、事件驱动和解释。
但是,正如您的消息来源所说,许多语言不仅仅属于一类,而是可以以不同的方式使用。例如,Java 可以以相当严格的程序方式使用。
虽然 Javascript 支持函数式编程,但它不是函数式程序员的通用语 - 但如果他们愿意,他们可以使用它。
Javascript 是如此多才多艺,因为它是基于原型的,并且因为您可以将函数作为参数传递给其他函数,这确实允许一些疯狂的编程技术(阅读:HACKS)与 Javascript 的动态创建相结合,它可以非常强大也令人困惑:)
您可能需要查找http://en.wikipedia.org/wiki/Prototype-based_programming 以获得更多解释。
【讨论】:
...
JavaScript 是一种多范式的动态语言,具有类型和运算符、标准的内置对象和方法。它的语法基于 Java 和 C 语言——这些语言的许多结构也适用于 JavaScript。 JavaScript 支持使用对象原型而不是类的面向对象编程(请参阅有关原型继承和 ES2015 类的更多信息)。 JavaScript 还支持函数式编程——函数是对象,使函数能够保存可执行代码并像任何其他对象一样被传递。
...
【讨论】:
JavaScript 是 ECMAScript 语言标准的一种实现,主要以客户端 JavaScript 的形式使用,作为 Web 浏览器的一部分实现,以提供增强的用户界面和动态网站。这样就可以在主机环境中以编程方式访问计算对象。
【讨论】: