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
JavaScript和Node.js的关系相关推荐
- node.js htttp文件服务器 遇到目录时搜索目录内默认html页面 廖雪峰javascript教程node.js中http部分练习题
廖雪峰javascript教程node.js中http部分最后的练习题: https://www.liaoxuefeng.com/wiki/1022910821149312/1023025830950 ...
- 90%的人都不知道的Node.js 依赖关系管理(上)
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 引言 Node.js中的一个重要概念是依赖关系管理.本文就将带大家了解依赖管理的各种模式以及Node.js如 ...
- 2019 某某最新《 Javascript之Node.JS经典教程 Node.js从理论到实战》
适用人群 前端开发,前端工作,前端学习 课程概述 智能社:Javascript之Node.JS-经典教程:从理论到实战! 基础部分(第1-6节) 模块化(第7-8节) 框架应用(第9-24 ...
- 使用FortJs使用现代JavaScript开发Node.js
介绍 (Introduction) Nodejs gives you the power to write server side code using JavaScript. In fact, it ...
- VSCode配置JavaScript基于Node.js环境
1. 安装 Node.js 官网下载对应的版本:https://nodejs.org/en/ 可以自定义安装路径 测试是否安装成功,在命令行输入node -v 和 npm -v,如果能显示出版本号说明 ...
- VSCode配置JavaScript基于Node.js的调试环境
一.安装VSCode和Node.js 前言:做科研之后确实很少会总结积累,可能是科研中出现的问题的解决方法比较多样灵活,别说了其实就是偷懒哈哈哈哈哈.这不又要做前端才又开始写博客记录环境配置了.行了不 ...
- Javascript+Ajax+Node JS +socket .io +mysql 实现在线私人聊天
说明 学完Node JS 之后,一直想写一个关于Node的项目,正好了解到html5中的websocket, 所以花了一周时间写了这个在线聊天项目,程序还存在一些功能没有实现,后期会继续开发,实现离线 ...
- Node.js 与 JavaScript 基金会正式合并,JS 喜提新主场
翘首以盼了 6 个月后,JavaScript 终于迎来了自己的"新家落户"--OpenJS 基金会于今日官宣! 图源:Node.js Foundation 如何挑战百万年薪的人工智 ...
- 关于node.js的误会
昨天写了篇博客,介绍了一下我对node.js的第一次亲密接触后的感受,以为node.js很小众,出乎我意料很多人感兴趣,并且对博客中的细节问题做了评论,最多的是围绕node.js的异步与单线程展开的, ...
最新文章
- 新闻通稿 | 2021年世界互联网大会乌镇峰会网络法治分论坛圆满举行
- Paired Joint Coordinates
- Federated learning论文修改2021-11-14(X-Y Liang)
- 页面访问的常见错误码解析
- 富文本存储型XSS的模糊测试之道
- Android开发笔记(一百)折叠式列表
- 多个蓝牙缺陷可使攻击者假冒合法设备
- 【部署问题】解决Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid“ failed(2:No such file or directory)
- 一、计算二进制中1的个数
- 行间事件传this的问题:
- centos6.6 x86_64 install virtualbox 增强功能和ulipad
- Oracle定时任务使用
- 无刷直流电动机的工作原理
- ZF与MMSE接收检测
- css 屏幕背景图片 img.html
- 《knowledge graph embedding:a survey of approaches and applications》论文阅读
- c#获取word文件页数、字数
- IP协议及MAC帧格式
- 广和通FM650 5G模块连接Ubuntu不显示USB串口问题解决
- python重点题目
热门文章
- 蒸发器分段设计matlab程序_蒸发器计算函数matlab
- 初创企业数据体系建设
- mysql5.6设置数据库read_only的两种方式
- 为什么TDM更适合数字传输?(模拟信号与数字信号传输比较,TDM与FDM传输方式比较)
- 搜索引擎排名优化技巧有哪些
- 算法总结-字典树(正在更新)
- 距阵乘以一个未知距阵得单位矩阵 怎么算_贷款利息怎么算,房贷车贷消费贷,利息有什么区别...
- 小说作者推荐: 闹月合集
- 微信小程序使用face++实现人脸识别登录注册
- Jenkins整合dingding json pusher,发送自定义消息到钉钉群