NodeJS的概述
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的概述的更多相关文章
- 转: Nodejs概述
目录 简介 安装与更新 版本管理工具nvm 基本用法 REPL环境 异步操作 全局对象和全局变量 模块化结构 概述 核心模块 自定义模块 fs模块 Stream模式 http模块 实例:搭建一个HTT ...
- Node入门教程(2)第一章:NodeJS 概述
Node 概述 什么是 Node Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...
- NodeJS概述
NodeJS中文API 一.概述 Node.js 是一种建立在Google Chrome’s v8 engine上的 non-blocking (非阻塞), event-driven (基于事件的) ...
- nodejs安装与概述
第一部分:安装与测试 1 官方下载地址 https://nodejs.org/en/ 2 测试是否安装成功? window下打开CMD窗口 输入:node -v => 显示安装的nodej ...
- Vue nodejs商城项目-项目概述
项目概况 用vue2.0 +node.js +MongonDB 做了一个商城系统 技术选型 Vue2.0+node.js+express+MongoDB+axios+vuex 构建工具 Webpack ...
- NodeJS概述2-事件插件-简易爬虫
事件 events 模块 原生事件写法 /* * 1. 事件分类 * DOM0级 事件 - on + eventType * DOM2级 事件 - 事件监听 * 2. 事件构成部分有哪些? dom.o ...
- [NodeJS] 优缺点及适用场景讨论
概述: NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨. 一. ...
- 借助Nodejs探究WebSocket
文章导读: 一.概述-what's WebSocket? 二.运行在浏览器中的WebSocket客户端+使用ws模块搭建的简单服务器 三.Node中的WebSocket 四.socket.io 五.扩 ...
- [NodeJS] Hello World 起步教程
概述: 做数据,免不了需要展示数据,数据可视化是必须经历的步骤. 本文将提供一个NodeJS的起步教程,是笔者这两天探索的小结. 正文: 1. 为什么使用NodeJS 究竟是以B/S还是C/S的架构 ...
随机推荐
- 前端基础-HTML(1)
1.浏览器: 1.1 浏览器内核: 渲染引擎和JS引擎 渲染引擎:负责页面内容的在(html,xml,图像等).整理讯息(加入css等),以及计算网页的显示方式,然后输出至显示器后者打印机 JS引擎: ...
- Docker网络与存储(三)
Docker的网络和存储 1.1 Docker的4种网络模式 host模式,使用--net=host指定. container模式,使用--net=container:NAME_or_ID指定. no ...
- Spring Boot中使用@JsonComponent
文章目录 序列化 反序列化 在同一个class中序列化和反序列化 Spring Boot中使用@JsonComponent @JsonComponent 是Spring boot的核心注解,使用@Js ...
- Python下redis包安装
找到Python的第三方包安装路径,在dos命令行中切换到该目录,输入: pip install redis 最后在Python解释器中即可.
- 原生JS中获取位置的方案总结
获取鼠标当前位置 clientY.clientX: 鼠标当前位置 相对于 浏览器可视区域顶部.浏览器可视区域左部 的位置: pageY.pageX: 鼠标当前位置 相对于 文档顶部.文档左部的位置: ...
- C# 对 TCP 客户端的状态封装
TCP客户端连接TCP服务器端有几种应用状态: 与服务器的连接已建立 与服务器的连接已断开 与服务器的连接发生异常 应用程序可按需求合理处理这些逻辑,比如: 连接断开后自动重连 连接断开后选择备用地址 ...
- The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 D Carneginon
Carneginon was a chic bard. But when he was young, he was frivolous and had joined many gangs. Recen ...
- 什么才是Python的高级编程?大牛总结,绝对让你受益匪浅
很多刚入门或者还在了解的小伙伴们都会遇到迷茫期吧,就是学完这些基础,函数,字典啥的,好像也做不了什么东西,其实你基础学的扎实的话,是能做很多的事的,学完基础也不要迷茫,因为每门语言都是博大精深的,不是 ...
- Android | 带你零代码实现安卓扫码功能
目录 小序 背景介绍 前期准备 开始搬运 结语 小序 这是一篇纯新手教学,本人之前没有任何安卓开发经验(尴尬),本文也不涉及任何代码就可以使用一个扫码demo,华为scankit真是新手的福音-- ...
- 从0开始学自定义View -1
PS:好久没有写博客了,之前的东西有所忘记,百度一下竟然查到了自己的写过的博客,访问量还可以,一开始的写博客的初衷是把自己不会的记录下来,现在没想到也有博友会关注我,这就给了我动力,工作之余把零零碎碎 ...