10.Node.js核心模块
1.全局对象
2.常用工具
3.事件机制
4.文件系统访问
5.HTTP服务与客户端
一.全局对象(Global Object), 与window对象一样
process ==> 全局变量, 描述当前Node.js进程状态的对象, 提供了一个操作系统的简单接口
1.process.argv ==> 命令行参数数组, 第一个元素是node, 第二个元素是脚本文件名, 第三个元素开始每个元素是一个运行参数
2.process.stdout ==> 标准输出流,通常我们使用的 console.log() 向标准输出打印字符,而 process.stdout.write() 函数提供了更底层的接口。
3.process.stdin ==> 是标准输入流,初始时它是被暂停的,要想从标准输入读取数据,你必须恢复流,并手动编写流的事件响应函数。
4.process.nextTick(callback) ==> 的功能是为事件循环设置一项任务,Node.js 会在下次事件循环调响应时调用 callback 。
function doSomething(args, callback) {
somethingComplicated(args);
callback();
} doSomething(function onEnd() {
compute();
}); // process.nextTick() 提供了一个这样的工具,可以把复杂的工作拆散,变成一个个较小的事件。
// 改写后的程序会把上面耗时的操作拆分为两个事件,减少每个事件的执行时间,提高事件响应速度。
function doSomething(args, callback) {
somethingComplicated(args);
process.nextTick(callback);
} doSomething(function onEnd() {
compute();
});
5.除此之外process 还展示了process.platform 、process.pid 、process.execPath 、process.memoryUsage()等方法
二.常用工具util
1.util.inherits ==> 对象间原型继承
2.util.inspect ==> 是一个将任意对象转换为字符串的方法,通常用于调试和错误输出。
它至少接受一个参数 object,即要转换的对象。showHidden 是一个可选参数,如果值为 true,将会输出更多隐藏信息。
3.四个类型测试工具
3.util.isArray()
4.util.isRegExp()
5.util.isDate()
6.util.isError()
7.util.format()
8.util.debug()
http://nodejs.org/api/util.html 了解详细内容。
10.Node.js核心模块的更多相关文章
- node.js核心模块
全局对象 global 是全局变量的宿主 全局变量 在最外层定义的 全局对象的属性 隐士定义的变量(未定义直接赋值的变量) 当定义一个全局变量时 这个变量同时也会成为全局对象的属性 反之亦然 注意: ...
- Node.js核心模块_全局变量、util学习
全局对象 javascript的全局对象是window,他及其所有属性都可以在程序的任何地方访问.即全局变量. 而在node中全局对象是global,所有全局变量都是global对象的属性,包括其本身 ...
- Node.js核心模块-fs文件系统
fs是file-system的简写,文件系统的意思.在Node中如果想要进行文件操作,就必须引入fs这个核心模块. 引入 const fs = require('fs') fs.readFile(pa ...
- Node.js核心模块-http
通过node中的http模块可以创建编写服务器 引入 const http = require('http') http举例使用: const http = require('http') //引入 ...
- Node.js核心模块API之文件操作
参考:https://www.runoob.com/nodejs/nodejs-fs.html 异步I/O 1,文件操作 2,网络操作 在浏览器中也存在异步操作 1,定时任务 2,事件处理 3,Aja ...
- Node.js核心模块-net
net.Socket 类 socket.remotePort 访问服务器的远程端口 const http = require('http'); const server = http.createSe ...
- Node.js DNS 模块
Node.js DNS 模块用于解析域名.引入 DNS 模块语法格式如下: var dns = require("dns") 方法 序号 方法 & 描述 1 dns.loo ...
- Node.js Net 模块
Node.js Net 模块提供了一些用于底层的网络通信的小工具,包含了创建服务器/客户端的方法,我们可以通过以下方式引入该模块: var net = require("net") ...
- Node.js OS 模块
Node.js os 模块提供了一些基本的系统操作函数.我们可以通过以下方式引入该模块: var os = require("os") 方法 序号 方法 & 描述 1 os ...
随机推荐
- Java实现的各种排序算法(包括冒泡,快排等)
//堆排序 不稳定 import java.util.Arrays; public class HeapSort { public static void main(String[] args) { ...
- unarchive模块
unarchive模块 用于解压文件,模块包含如下选项: copy:在解压文件之前,是否先将文件复制到远程主机,默认为yes.若为no,则要求目标主机上压缩包必须存在. creates:指定一个文件名 ...
- MongoDB Shell 了解使用
配置环境变量 WIN10系统:右键单击"此电脑"--属性--高级系统设置--高级--环境变量,添加C:\Program Files\MongoDB\Server\3.0\bin 如 ...
- PHPstorm8 自动换行设置方法
PHPstorm是一款非常不错的PHP开发工具,有很多需要自己设置.比如,IDE常见的代码自动换行功能需要我们自己去配置才能实现. File -> Settings -> Editor ...
- 上传图片(示列分析) $_FILES
新建一个think_photo数据库,库里用sql CREATE TABLE IF NOT EXISTS `think_photo` ( `id` ) NOT NULL AUTO_INCREMENT, ...
- 嵌入式驱动开发之usb 无线网卡驱动---RT2870STA dm368
RT2870STA 368的无线网卡驱动! http://www.linuxidc.com/Linux/2014-02/96979.htm
- (转)音频输出PCM与LPCM有什么不同
多声道LPCM:无损音轨原始存在格式,概念上等效于wave文件,并不需要运算解码,可直接输入功放进行DA转换,光纤和同轴接口只能传输2声道LPCM,多声道LPCM需要HDMI接口传输. PCM: ...
- Linux基础回想(1)——Linux系统概述
1. 什么是操作系统?它与硬件以及其它软件之间的关系是如何的? 操作系统是控制和管理计算机系统内各种硬件和软件资源.有效组织多道程序执行的系统软件(或程序集合),是用户和计算机之间的接口.详细的说: ...
- centos7 systemctl
下机为systemctl指令systemctl enable *.service #开机运行服务systemctl disable *.service #取消开机运行systemctl start * ...
- List<T>与ObservableCollectio<T> 的区别
在WPF中绑定通常会使用ObservableCollection,为什么不使用List呢? 简单是解释:List不包含值变通知功能,所以绑定了也许会出现绑定的数据与呈现数据不一致的问题. 通常绑定会使 ...