javascript - 如果默认情况下 JavaScript 既不是异步的也不是多线程的,为什么新手通常认为它是(尤其是与其他语言相比)?

标签 javascript multithreading asynchronous synchronous

<分区>

根据这个问题的标题...为什么 JavaScript 看起来与 Java 如此不同? 似乎 是有效的、主观的连接动词...

从本质上讲,为什么新手经常假设 JavaScript 默认是异步的?与从不做出这种假设的 Java 相比,导致初学者做出这种假设的 JavaScript 的质量是什么?这与浏览器事件循环中的并发性有关吗?

最佳答案

Java 和 JavaScript 是两种不同的语言,尽管在语法和命名法上有一些相似之处,但它们的设计和操作方式大不相同。 (JavaScript 是 Mozilla 对 ECMAScript 规范的实现,尽管它在口语中被称为“Xerox”或“Saran Wrap”。)

Java支持多线程; JavaScript (ECMAScript) 规范确实定义了线程或多线程。

JavaScript OO 是基于原型(prototype)的,方法是未绑定(bind)的; Java 是基于消息的,所有方法都绑定(bind)到对象。

JavaScript 是动态的(通常是弱类型的); Java 是静态强类型的。

JavaScript 是解释型的,直接执行源代码;必须先编译 Java。

关于javascript - 如果默认情况下 JavaScript 既不是异步的也不是多线程的,为什么新手通常认为它是(尤其是与其他语言相比)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45039964/

相关文章:

multithreading - 如何将对堆栈变量的引用传递给线程?

php - 用于 php 文件的 javaScript,不要等待回复

javascript - 复杂的 javascript 圆锥体计算器无法计算

java - java中使用线程读写文件

javascript - react native 异步获取,未定义的错误

java - Jedis是否支持异步操作

javascript - promise 的功能在完全执行之前自动解析

javascript - 如何阻止将可执行文件上传到 Alfresco Share?

javascript - 意外的 token = 导入/未命名为默认 eslint 错误

java - 如果直接从内存读取 volatile 字段,那么从哪里读取非 volatile 字段?