• JavaScript工作原理和Node异步I/O


    1. 什么是JavaScript解析引擎?

    简单地说,JavaScript解析引擎就是能够“读懂”JavaScript代码,并准确地给出代码运行结果的一段程序。比如var a=1+2;对于静态语言来说(如Java、C++、C),处理上述这些事情的叫编译器(Compiler),相应地对于JavaScript这样的动态语言则叫解释器(Interpreter)。这两者的区别用一句话来概括就是:编译器是将源代码编译为另外一种代码(比如机器码,或者字节码),而解释器是直接解析并将代码运行结果输出。 比方说,firebug的console就是一个JavaScript的解释器。

    V8(Chrome的JS引擎),设计目标是为了提高JS的运行性能,在运行之前会先将JS编译为本地的机器码(native machine code),然后再去执行机器码(这样速度就快很多),相信大家对JIT(Just In Time Compilation)一定不陌生吧。

    2. JavaScript解析引擎与ECMAScript是什么关系?

    ECMAScript定义了语言的标准,JavaScript引擎根据它来实现,这就是两者的关系。

    3. JavaScript解析引擎与浏览器又是什么关系?

    JavaScript引擎是浏览器的组成部分之一。浏览器还要做很多别的事情,比如解析页面、渲染页面、Cookie管理、历史记录等等。一般情况下JavaScript引擎都是浏览器开发商自行开发的。 

    4.Node实现异步I/O

    Node是基于C++的高速JavaScript解释器,绑定了用于进程、文件和网络套接字等底层Unix API,还绑定了HTTP客户端和服务器API。除了一些专门命名的同步方法外,Node的绑定都是异步的,且Node程序默认绝不阻塞,这意味着他们通常具有强大的可伸缩能力并能有效地处理负荷。由于API是异步的,因此Node依赖事件处理程序,其通常使用嵌套函数和闭包来实现。

  • 相关阅读:
    50 个 jQuery 插件可将你的网站带到另外一个高度
    查看占用IO的进程
    google全球地址
    php http请求封装
    如何促使团队紧密协作
    pureftpd.passwd解析
    goaccess生成nginx每日访问纪录
    bootstrap的一些资源
    php write_ini_file
    mysql查询区分大小写
  • 原文地址:https://www.cnblogs.com/super86/p/3945620.html
Copyright © 2020-2023  润新知