node.js和JavaScript的关系
node.js是一个基于 Chrome V8 引擎的 JavaScript 运行时环境。
一、类比JavaScript和java
| JavaScript | java |
|---|---|
| V8 | JVM |
| node.js | JRE |
- JavaScript和java都是一门编程语言,至于两者的关系,是雷锋和雷峰塔的关系
- V8是google开源的JavaScript引擎,用于执行JavaScript,类似JVM执行java字节码。在node.js诞生之前,V8是内置于Chromium中的,现在也内置于node.js中
- node.js=V8+内置基本模块(大多用JavaScript编写),类似JRE=JVM+java标准库
- node.js诞生之前,JavaScript只能运行于浏览器,现在也可以在服务器端运行于node.js
二、翻译一段Quora回答
下面翻译一段Quora上What is the difference between JavaScript and Node.js问题下Mattias Petter Johansson的回答。
- JavaScript是一门语言
- node.js不是一门语言,也不是一种特殊的JavaScript方言 - 它仅仅就是用于运行普通JavaScript代码的东西
- 所有浏览器都有运行网页上JavaScript的JavaScript引擎。Firefox有叫做Spidermonkey的引擎,Safari有JavaScriptCore,Chrome有V8
- node.js就是带有能操作I/O和网络库的V8引擎,因此你能够在浏览器之外使用JavaScript创建shell脚本和后台服务或者运行在硬件上
三、浏览器端和服务器端JavaScript组成区别
浏览器端:
- ECMAScript,描述了JavaScript语言的语法和基本对象
- 文档对象模型(DOM),描述处理网页内容的方法和接口
- 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口
服务器端:
- ECMAScript
- node.js内置模块:文件系统I/O、网络(HTTP、TCP、UDP、DNS、TLS/SSL等)、二进制数据流、加密算法、数据流等等
四、参考资料
node.js和JavaScript的关系的更多相关文章
- 如何理解Node.js和JavaScript的关系
一.Javascript的引擎 浏览器一般有两个引擎,一个是Html引擎,一个是脚本引擎. JavaScript是一种脚本语言,最初用于浏览器的动态显示,方便操作页面数据和内容.但实际上,它也可以在浏 ...
- 了不起的Node.js: 将JavaScript进行到底(Web开发首选,实时,跨多服务器,高并发)
了不起的Node.js: 将JavaScript进行到底(Web开发首选,实时,跨多服务器,高并发) Guillermo Rauch 编 赵静 译 ISBN 978-7-121-21769-2 2 ...
- Node.js: What is the best "full stack web framework" (with scaffolding, MVC, ORM, etc.) based on Node.js / server-side JavaScript? - Quora
Node.js: What is the best "full stack web framework" (with scaffolding, MVC, ORM, etc.) ba ...
- Node.js和JavaScript的区别与联系
虽然不能说它们一点关系也没有,但它们的确关系不大: 第一,JavaScript是一门编程语言(脚本语言),而Node.js是一个平台,可以简单理解为它是JavaScript的一种执行环境. 第二,Ja ...
- 配置 Sublime Text 用 Node.js 执行 JavaScript 程序
1. 首先到 nodejs.org 下载 Node.js 安装包并安装. 2. 打开 Sublime Text 2 编辑器.选择菜单 Tools --> Build System --> ...
- 使用Chrome DevTools直接调试Node.js与JavaScript(并行)
Good News: 现在我们可以用浏览器调试node.js了!!! 前提 Node.js 6.3+, 这个可上Node.js官网自行下载: Chrome 55+. 如果您本地的chrome升级到最新 ...
- Node.js:JavaScript脚本运行环境
Node.js https://nodejs.org/ 2016-08-03
- Node.js 搞Javascript开发的无论如何要尝试一下
我想找个因子给大家介绍Node.js 这样吧,我想Jquery的占有率那么高,就拿Jquery来说吧. https://github.com/jquery/jquery 首先打开Jquery的gith ...
- Electron、Node.js、JavaScript、JQuery、Vue.js、Angular.js,layui,bootstrap
转载:https://blog.csdn.net/meplusplus/article/details/79033786 layui :是基于jquery库的封装开发. bootstrap:同样基于 ...
随机推荐
- docker-compose批量管理docker容器
# docker-compose编排工具 #批量管理(构建.启动容器) #centos7环境准备#安装docker-ce #安装docker-compose v1. sudo curl -o /usr ...
- Exploit之初识Linux下缓冲区溢出
本文的目的不是为了介绍如何进行恶意的破坏性活动,而是为了教会你如何去防御此类破坏性活动,以帮助你扩大知识范围,完善自己的技能,如有读者运用本文所学技术从事破坏性活动,本人概不负责. 0×01 前言 1 ...
- apicloud 基础
时间成本 人力成本 很多人想开发app 又碍于时间和金钱成本 . 本色对app 要求不高的话. 混合app 开发是一种很好的方式. apicloud 就是一种很好的方式. apicloud ...
- java 中 enum 枚举的使用
package test3; public final class Program { public static void main(String[] args) { // Sys ...
- day 41 数据库初学习
前情提要: 数据库初识别 一:数据库的介绍 https://github.com/Endless-Clould/homework/blob/master/student_system.sql 数据再这 ...
- python学习笔记02-编码
ASCII码 255个 每一个占1个字节 8位 解决中文的问题:出现一张扩展表 支持中文的第一张表 gb2312 后来发展为GBK1.0 Gb18030 万国码:unicode 世界统一 存 ...
- ajax获取json数据及实现跨域请求
最近想练习一下ajax获取json数据 , 首先上网找一些在线的可用来测试的接口. -----------------------------------------------------这里是接口 ...
- apache2.4脚本一键安装(linux环境)
1.下载apache安装包和相关组件 下载地址:https://pan.baidu.com/s/1o85i6Jw 其中包括 apache安装包:httpd-2.4.29.tar.gz apache安装 ...
- 7.xamarin.android 发布签名与控制apk大小
概述 做了xamarin android 后大家想打包一个apk,发布给其他人使用本章我们将带领大家如何打包签名一个apk. 打包 对于VS2017 或者是VS MAC来说打包一个APK非常简单. 首 ...
- 如何修复“sshd error: could not load host key”
问题:当我尝试SSH到一台远程服务器时,SSH客户端登陆失败并提示“Connection closed by X.X.X.X”.在SSH服务器那端,我看到这样的错误消息:“sshd error: co ...