• JavaScript和Node.js的关系


    JavaScript和Node.js的关系

    JavaScript是一门编程语言(脚本语言),JavaScript以前是在浏览器里执行的,需要浏览器里的JavaScript引擎,Firefox有叫做Spidermonkey的引擎,Safari有JavaScriptCore的引擎,Chrome有V8的引擎,后来,有人把Chrome有V8的引擎拿出来做了包装,并加入了其它一些功能模块,就构成了Node.js。简单地说,Node.js是JavaScrip的一种独立于浏览器的运行环境,还集成其它功能如I/O、网络等功能,适用于服务器端应用。

    浏览器端JavaScript和服务器端node.js关系(组成区别)

    浏览器端也称为前端,服务器端也称为后端。前端和后端的JavaScript它们的语言基础都是ECMAScript,但是所扩展的东西不同:前端需要操作页面元素,于是扩展了DOM,也需要操作浏览器,于是就扩展了BOM。后端需要有操作文件的能力,于是扩展出file文件系统;需要操作网络,于是扩展出net网络系统等。

    ★web浏览器端JavaScript:

    ECMAScript【注】

    文档对象模型(DOM),描述处理网页内容的方法和接口。

    浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。

    ★服务器端node.js:

    ECMAScript

    node.js基本模块:文件系统I/O、网络(HTTP、TCP、UDP、DNS、TLS/SSL等)、二进制数据流、加密算法、数据流等等,为此Node.js中集成了大量的库,还可以使用许多第三方库。

    【注:指遵循 ECMAScript 标准规范JavaScript部分,ECMAScript 定义了JavaScript语言的基础部分,如:语法、数据类型结构以及一些内置对象。JavaScript一种通用目的的脚本语言,由具体的Javascript引擎具体实现。JavaScript引擎是一个专门处理JavaScript脚本的虚拟机。】

    ECMAScript 是一种由 Ecma 国际组织在标准 ECMA-262 中定义的脚本语言规范。ECMA Script 1.0 于1997年6月发布。从此,JavaScript语言进入了标准化时代。ECMAScript 简称ES。

    2009年12月发布ECMAScript 5.0。2011年6月发布ECMAscript 5.1,并且成为ISO国际标准(ISO/IEC16262:2011)。
    2015年6月发布ECMAScript 6,并且更名为“ECMAScript 2015”。

    ECMAScript版本历史更多情况可见https://zhuanlan.zhihu.com/p/367249029

    习惯上,JavaScript一般指浏览器端的JavaScript。JavaScript包括3个部分:ECMAScript、BOM、DOM。BOM与浏览器相关,DOM和HTML页面相关。Node.js中只是包括了ECMAScript。一些关于BOM的操作和DOM的操作都是基于浏览器端运行的,在Node.js中是无法使用的。

    ☆为什么JavaScript可以在浏览器中被执行?

    不同的浏览器使用不同的JavaScript解析器(引擎)。

    ☆为什么JavaScript可以操作Dom和Bom?

    每个浏览器都内置了Dom,Bom的API【注:API(Application Programming Interface ——应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节】。

    ☆Node.js 能操作 DOM 和 BOM 吗?

    不能。因为Node.js没有集成Dom,Bom的API。

    ☆Node.js可以做什么?

    Node.js 作为一个 JavaScript 的运行环境,仅仅提供了JavaScript基础的功能,但集成了文件系统、网络等功能。基于Node.js 提供很多强大的工具,如:

     Express 框架(http://www.expressjs.com.cn/),可以快速构建Web 应用。

    Electron框架(https://www.electronjs.org/zh/),可以构建跨平台的桌面应用。

    关于JavaScript更多情况,可见https://blog.csdn.net/cnds123/article/details/80864191

    关于BOM和DOM更多情况,可见https://blog.csdn.net/cnds123/article/details/109635554

    关于Node.js更多情况,可见https://blog.csdn.net/cnds123/article/details/104559497

    关于前端、后端 更多情况,可见https://blog.csdn.net/cnds123/article/details/120778082

  • 相关阅读:
    华为云服务器搭建
    LeetCode 面试题 16.25. LRU 缓存
    【设计模式】工厂模式(Factory Pattern)
    微服务架构从阿里掀起变革,微服务全彩手册趁势崛起 (容器 k8s)
    ArrayList源码分析
    SpringSecurity用户注销
    linux环境下使用lighthouse与selenium
    安装oem 13c
    IJ中PHP环境的搭建和使用教程
    【matlab图像处理】直方图均衡化操作
  • 原文地址:https://blog.csdn.net/cnds123/article/details/128114814