javascript如何成为一种同步语言并在浏览器和node.js环境中异步运行?
我是说实际的区别是什么?我知道Google v8引擎会在浏览器和node.js环境中对其进行解释?那么我在这里错过了什么?同一代码如何以不同方式执行 同一种语言如何同步和异步 javascript如何在浏览器中同步运行,在Node.js环境中异步运行 没有。它在两种环境中都以单线程*、事件驱动的方式运行。当处理任务(例如,响应发生的事情)时,该线程同步地执行任务。它可以做的一件事(在这两种环境中)是在当前任务完成后安排一个异步回调进行处理 同一种语言如何同步和异步 同步与异步处理主要是环境问题,而不是语言问题。有些语言的功能设计使其更易于在多线程环境中使用(与同步/异步环境不同),有些语言可能内置异步功能,但如果语言没有(JavaScript没有),环境可以提供这些功能 例如:JavaScript没有任何内置方式来安排异步回调**。但是浏览器提供的javascript如何成为一种同步语言并在浏览器和node.js环境中异步运行?,javascript,node.js,browser,v8,execution,Javascript,Node.js,Browser,V8,Execution,我是说实际的区别是什么?我知道Google v8引擎会在浏览器和node.js环境中对其进行解释?那么我在这里错过了什么?同一代码如何以不同方式执行 同一种语言如何同步和异步 javascript如何在浏览器中同步运行,在Node.js环境中异步运行 没有。它在两种环境中都以单线程*、事件驱动的方式运行。当处理任务(例如,响应发生的事情)时,该线程同步地执行任务。它可以做的一件事(在这两种环境中)是在当前任务完成后安排一个异步回调进行处理 同一种语言如何同步和异步 同步与异步处理主要是环境问题,
setTimeout
函数正好可以做到这一点(Node也提供nextTick
和其他各种功能)
*除了浏览器可以通过启动多个线程(节点代码可以生成子进程)
**ES6的承诺将改变这一点;解决或拒绝ES6承诺本质上是一种异步操作(更多信息,以及)。它在浏览器中不同步too@NaeemShaikhjavascript作为一种语言不是同步的、单线程的吗?@dimrizo:这种语言在线程主题上是完全沉默的,所以它取决于环境。@t.J.Crowder-friend,你能推荐一些关于线程主题的好文章吗?我已经在node.js中编写了一个完整的web应用程序,每天访问100次,但是我仍然发现很难理解回调和异步性质。也许因为我是自学成才的程序员。