javascript 是一种并发语言还是使语言并发的 javascript 引擎?

Mik*_*kou 1 javascript concurrency

说 javascript 是一种并发编程语言是否正确,或者是不同的 javascript 引擎使 javascript 并发?

维基百科上没有列出 JavaScript 作为并发语言,但 node.js 是:http : //en.wikipedia.org/wiki/Concurrent_computing#Concurrent_programming_languages

我希望了解更多有关 javascript 的并发行为来自何处的信息。

dom*_*all 5

为了最好地回答这个问题,了解什么是 javascript 很重要。

来自 ECMAScript 语言规范

http://www.ecma-international.org/ecma-262/5.1/

ECMAScript 是一种面向对象的编程语言,用于在宿主环境中执行计算和操作计算对象。此处定义的 ECMAScript 并非旨在计算自给自足;实际上,本规范中没有关于外部数据输入或计算结果输出的规定。相反,期望 ECMAScript 程序的计算环境不仅会提供本规范中描述的对象和其他设施,还会提供某些特定于环境的宿主对象,这些对象的描述和行为超出本规范的范围,除非表明它们可能提供某些可访问的属性和可从 ECMAScript 程序调用的某些函数。

由主机决定实现。Node.js 是一个这样的主机,浏览器是另一个这样的主机。任何主机都可以根据规范选择实现该语言,并且主机可以提供自己的信息处理环境。

所以,回答这个问题

说 javascript 是一种并发编程语言是否正确,或者是不同的 javascript 引擎使 javascript 并发?

我会说不,说 javascript 是一种并发编程语言是不正确的,因为答案取决于主机环境(或引擎);但是,可以通过启用它的主机环境(引擎)来实现并发。