1.NodeJS概述

基于谷歌V8引擎,运行在服务器端的环境

对比JS和NodeJS

(1)JS运行在浏览器端,存在多种浏览器解释器,容易产生兼容性的问题;而NodeJS运行在服务器端,只有V8引擎一种解释器,不存在兼容性问题。

(2)两者都有内置对象、自定义对象、宿主对象(不相同)

(3)JS用于浏览器端的交互效果,NodeJS用于服务器端操作,例如创建web服务器、操作数据库、文件操作

NodeJS执行方式

脚本模式   node  c:/xampp/.../01.js   回车

交互模式   node  回车  进入交互模式

退出交互模式   两次Ctrl+c   或者   .exit

NODEJS API

http://nodejs.cn/api/globals.html  中文版

https://nodejs.org/dist/latest-v10.x/docs/api/ 英文版

适用场景

基于社交网络的大规模web应用(属于I/O密集型)

1.全局对象

NodeJS: global

在交互模式下,声明的变量和创建函数都属于全局对象下的,可以使用global来访问  global.a   global.fn

在脚本模式,声明的变量和创建函数都不属于全局对象下的,

不能使用global来访问

JS:window

在JS脚本中声明的变量和创建的函数都属于全局对象下的,可以使用window访问  window.a  window.fn()

2.process对象

进程: 执行程序的时候,操作系统分配内存空间

process.arch  查看当前CPU架构

process.platform   查看当前的操作系统

process.env   查看当前的环境变量有哪些

process.version  查看当前NodeJS版本号

process.pid  查看当前进程的编号

process.kill()  结束某个编号的进程

3.console对象

标准输出

console.log()  打印日志

console.info()  打印消息

console.warn()  打印警告

console.error()  打印错误

console.time('自定义字符串')  开始计时

console.timeEnd('自定义字符串')  结束计时

注意:开始计时和结束计时的字符串保持一致。

练习:循环100万次,分别使用for,while,do-while查看耗时情况。

4.Buffer对象

缓冲区: 在内存中存储数据的区域,常用于网络传输时的资源

创建Buffer

var buf=Buffer.alloc(5, 'abcde')

将buffer数据转为字符串

String(buf)

buf.toString()

5.模块

模块:就是一个独立的功能体

在NodeJS下,模块分为:自定义模块、核心模块、第三方模块

自定义模块

在NodeJS,每一个文件都是一个模块

NodeJS自动为每个文件添加了构造函数,所有的代码被构造函数所包含

(function(exports,require,module,__filename,__dirname){

程序员自己写的代码

})

require(): 用于引入一个模块,同一级目录写路径 ./

module: 指代当前的模块对象

module.exports: 当前模块的导出对象,公开的属性和方法

NodeJS的概述的更多相关文章

  1. 转: Nodejs概述

    目录 简介 安装与更新 版本管理工具nvm 基本用法 REPL环境 异步操作 全局对象和全局变量 模块化结构 概述 核心模块 自定义模块 fs模块 Stream模式 http模块 实例:搭建一个HTT ...

  2. Node入门教程(2)第一章:NodeJS 概述

    Node 概述 什么是 Node Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...

  3. NodeJS概述

    NodeJS中文API 一.概述 Node.js 是一种建立在Google Chrome’s v8 engine上的 non-blocking (非阻塞), event-driven (基于事件的) ...

  4. nodejs安装与概述

    第一部分:安装与测试 1 官方下载地址 https://nodejs.org/en/ 2 测试是否安装成功? window下打开CMD窗口   输入:node -v  => 显示安装的nodej ...

  5. Vue nodejs商城项目-项目概述

    项目概况 用vue2.0 +node.js +MongonDB 做了一个商城系统 技术选型 Vue2.0+node.js+express+MongoDB+axios+vuex 构建工具 Webpack ...

  6. NodeJS概述2-事件插件-简易爬虫

    事件 events 模块 原生事件写法 /* * 1. 事件分类 * DOM0级 事件 - on + eventType * DOM2级 事件 - 事件监听 * 2. 事件构成部分有哪些? dom.o ...

  7. [NodeJS] 优缺点及适用场景讨论

    概述: NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨. 一. ...

  8. 借助Nodejs探究WebSocket

    文章导读: 一.概述-what's WebSocket? 二.运行在浏览器中的WebSocket客户端+使用ws模块搭建的简单服务器 三.Node中的WebSocket 四.socket.io 五.扩 ...

  9. [NodeJS] Hello World 起步教程

    概述: 做数据,免不了需要展示数据,数据可视化是必须经历的步骤. 本文将提供一个NodeJS的起步教程,是笔者这两天探索的小结. 正文:  1. 为什么使用NodeJS 究竟是以B/S还是C/S的架构 ...

随机推荐

  1. php header() 常用content-type

    //定义编码 header( 'Content-Type:text/html;charset=utf-8 '); //Atom header('Content-type: application/at ...

  2. history of program atan2(y,x)和pow(x,y)

    编年史 1951 – Regional Assembly Language 1952 – Autocode 1954 – IPL (LISP语言的祖先) 1955 – FLOW-MATIC (COBO ...

  3. Vim Operations

    Vim有三种模式:输入模式.命令模式和末行命令模式. 输入模式用来输入文字,命令模式用来下达编排文件的操作指令,末行命令模式用来进行文件存档.离开编辑器等操作. 进入及离开 末行模式下: :w 保存当 ...

  4. 信息竞赛进阶指南--KMP算法(模板)

    next[1] = 0; for (int i = 2, j = 0; i <= n; i++) { while (j > 0 && a[i] != a[j+1]) j = ...

  5. 数学--数论--随机算法--Pollard Rho 大数分解算法 (带输出版本)

    RhoPollard Rho是一个著名的大数质因数分解算法,它的实现基于一个神奇的算法:MillerRabinMillerRabin素数测试. 操作流程 首先,我们先用MillerRabinMille ...

  6. 经典卷积神经网络算法(1):LeNet-5

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  7. 这是一篇每个人都能读懂的最小生成树文章(Kruskal)

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是算法和数据结构专题的第19篇文章,我们一起来看看最小生成树. 我们先不讲算法的原理,也不讲一些七七八八的概念,因为对于初学者来说,看到 ...

  8. Spring Cloud Alibaba系列(一)nacos作为服务注册中心

    Spring Cloud Alibaba各组件版本关系 Spring Cloud Alibaba Version Sentinel Version Nacos Version RocketMQ Ver ...

  9. Git 中 “fatal: Not a valid object name: 'master'.”

    报错: fatal: Not a valid object name: 'master'. 问题主要是,master并不合法,也就是没有 git commit -m "" 提交一个 ...

  10. TD-LTE华为 DBS3900数据配置实践 典型案例

    案例:华为 DBS3900 双基站二扇区配置(同频切换) 一.数据配置前的硬件准备: HW-DBS3900: (1#基站名称) FAN (风扇),安装在 16#槽位: LBBP (基带处理单板),安装 ...