Node.js 是什么?Node.js与JavaScript的区别是什么?
node.js是什么?Node.js是一个Javascript运行环境(runtime)。Node.js与JavaScript的区别是什么?本质: Javascript是一种web前端语言,主要用于web开发中,由浏览器解析执行 Node.js是一个可以快速构建网络服务及应用的平台,是用Javascript语言构建的服务平台,可用于后端建立服务器区别: Javascript 主要应用前端 是编程语言 客户端编程语言(需要浏览器的javascript解释器进行解释执行) node.js 主要应用后端 1个平台 运行环境(一个基于Chrome JavaScript运行时建立的平台,它是对Google V8引擎进行了封装的运行环境)简单的说node.js就是把浏览器的解释器封装起来作为服务器运行平台,用类似javascript的结构语法进行编程,在node.js上运行。
Node.js的优点?Node.js的缺点?
优点:1.事件驱动2.异步编程3.非阻塞模式的IO4.轻量高效缺点:1.可靠性低2.单进程,单线程,只支持单核cpu,不能充分的利用多核cpu服务器。一旦这个进程崩掉,那么整个web服务就崩掉了。Node.js适用场景?Node.js不适用的场景?
适用场景:1.JSON APIL ——构建一个Rest/JSON API服务,node.js可以充分发挥其非堵塞IO模型以及javascript对JSON的功能支持2.单页面、多Ajax请求应用——前端有大量的异步请求,需要服务器后端有极高的响应速度3.基于node.js开发Unix命令行工具——node.js可以大量产生子进程,并以流的方式输出4.流式数据——传统的web应用,通常会将HTTP 请求喝响应看成是原子事件。而node.js会充分利用流式数据这个特点,构建非常酷的应用不适用场景:cpu使用率较重、io使用率较轻的应用Node.js的基本语法
基本语法与 javascript 一样这里我们使用exports导出一个函数,然后再另一文件中通过require导入入一个模块例如 :在 a.js 中写一个函数var hello=function(){ console.log(‘hello’)}export.hello=hello;在 b.js 中 需要用hello这个函数var a=require(‘a’);a.hello()单线程
Node的设计中就是将耗时长的操作代理给操作系统或者多线程,这部分操作就是磁盘I/O和网络I/O。所以Node中异步非常常见,因为要将耗时的操作从主线程上脱离。但是这些I/O线程并不怎么耗费CPU。无法利用多核CPU是指Node的主线程无法利用上硬件上额外的CPU。这就需要用到cluster来在机器上启动多个Node实例,将额外的CPU也使用上。异步 IO
事件驱动REPLREPL(Read-Eval-Print Loop) 中文的话有翻译成“交互式解释器”或“交互式编程环境”的。
作者:cici_Gao
链接:https://www.jianshu.com/p/21d3130ca059
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
Node.js 是什么?Node.js与JavaScript的区别是什么?相关推荐
- node JS獲取GPS_Node.js 14 正式发布:V8 引擎升级,新增异步本地存储 API
Node.js 14 版本于近日正式发布, 此版本包含的亮点如下: 对诊断功能的改进 升级 v8 引擎 新增实验性的异步本地存储 API 强化流 API 移除实验性模块中的警告 移除一部分早期版本中废 ...
- Node.js event loop 和 JS 浏览器环境下的事件循环的区别
Node.js event loop 和 JS 浏览器环境下的事件循环的区别: 1.线程与进程: JS 是单线程执行的,指的是一个进程里只有一个主线程,那到底什么是线程?什么是进程? 进程是 CPU ...
- c语言node程序,如何从Node.js调用C代码?
那么V8允许从 JavaScript调用C代码. 所以你可以有3部分代码: >正常C,不知道node.js和V8.这将是世界的地方. > Glue node.js / V8-C代码,允许J ...
- node 大写_大写Node.js模块
node 大写 Today, let's see a third party module that helps us in working with upper-case letters witho ...
- 理解node.js(Understanding node.js)
因为最近自己在学习node.js,刚开始学.看到这篇文章挺有意思,介绍了一下node.js有助于理解基于事件驱动的回调,就翻译了一下. 英文原文: Understanding node.js 理解no ...
- js 多个定时器_Node.js系列深入浅出Node模块化开发——CommonJS规范
前言 本文将为大家透彻的介绍关于Node的模块化--CommonJS的一切. 看完本文可以掌握,以下几个方面: 什么是模块化,以及没有模块化会带来哪些问题,是如何解决的: JavaScript的设计缺 ...
- Node.js系列之node.js初探
官方介绍:Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable n ...
- node.js 创建服务器_Node.js HTTP软件包–创建HTTP服务器
node.js 创建服务器 An HTTP server caters to client requests and sends appropriate response. For example, ...
- js 打印数组_Node.js系列二 - Node基础知识
一. Node执行代码 1.1. JavaScript文件执行 如果我们编写一个js文件,里面存放JavaScript代码,如何来执行它呢? // 1.直接打印一段文字 console.log(&qu ...
最新文章
- mysql reverse 索引_降序索引和减轻索引扫描
- Runtime.getRuntime()
- c#_static静态
- jQuery 3.1.1 官方下载地址
- php call_user_func和,php – call_user_func()和$var()之间有区别吗?
- ios序列化与反序列化,本地化
- 代码库之----图片预览
- Lucene 基础理论
- DotNetTextBox V3.0 所见即所得编辑器控件 For Asp.Net2.0(ver 3.0.7Beta) 增加多语言!
- .NET HttpClient的缺陷和文档错误让开发人员倍感沮丧
- centos 6 安装mysql,CentOS6.5安装MySQL教程(完整教程)
- html5 table删除修改,一个可以增加和删除行的table并可编辑表格中内容
- MySQL 储存过程-原理、语法、函数详细说明
- 划重点!Android 11 首个开发者预览版新功能抢先看
- 金蝶k3服务器的操作系统,金蝶k3服务器配置工具
- umts是移动还是联通_WCDMA/GSM是什么意思 是电信移动还是联通
- 【渝粤题库】陕西师范大学165203 社会保险学 作业(专升本)
- Fantastic Four: 具有恶意安全的诚实大多数四方安全计算
- 100个RPA经典应用场景解析
- Word2Vec之Skip-Gram与CBOW模型