Node.js学习(一)之全局对象和全局变量

初处开始学习Node.js之路~

以下的链接均来自Node.js中文网。

全局对象:

global:

表示Node.js所在的全局环境,类似于浏览器的window对象,但区别在于:在模块文件中声明变量 var x = 1,该变量并不是global对象的属性,global.x = undefined。模块的全局变量都是该模块私有的,其他模块无法取到。

Node.js中文网的解释:在浏览器中,顶层作用域就是全局作用域。 这意味着在浏览器中,var something 会定义一个新的全局变量。 在 Node.js 中则不同,顶层作用域不是全局作用域,var something 的作用域只在模块内点击查看global相关信息

process:

表示Node所处的当前进程,提供了当前Node.js进程的有关信息,允许开发者与该进程互动点击查看process相关信息

console:

指向Node内置的console模块,提供命令行环境中的标准输入,标准输出功能点击查看console相关信息

该模块导出了两个特定的组件:

  • 一个 Console 类,包含 console.log() 、 console.error() 和 console.warn() 等方法,可以被用于写入到任何 Node.js 流。console.error() 和 console.warn()作用相同。
  • 一个全局的 console 实例,可被用于写入到 process.stdout 和 process.stderr。 全局的 console 使用时无需调用 require('console')

注意:全局的 console 对象的方法既不总是同步的(如浏览器中类似的 API),也不总是异步的(如其他 Node.js 流)。 

全局函数:

setTimeout():

用于在指定毫秒之后运行回调函数,指定毫秒数须在1-2,147,483,647毫秒(约24.8天)之间,该方法返回一个整数,代表这个新建定时器的编号。

clearTimeout():

用于终止一个setTimeout方法新建的定时器。

setInterval():

每隔一定毫秒调用回调,指定毫秒数须在1-2,147,483,647毫秒(约24.8天)之间,超出则自动改为1毫秒,该方法返回一个整数,代表这个新建定时器的编号。

clearInterval():

用于终止一个setInterval方法新建的定时器。

点击查看timer相关信息

require():

用于加载模块。

Buffer():

用于操作二进制数据。Buffer 类的实例类似于整数数组,但 Buffer 的大小是固定的、且在 V8 堆外分配物理内存。 Buffer 的大小在被创建时确定,且无法调整。点击查看buffer相关信息

两个以下划线开头的全局变量:

点击查看两个变量相关信息

_dirname:指向当前运行脚本所在的目录。

_filename:指向当前运行脚本的文件名,当前模块的文件名称---解析后的绝对路径

例如:

在 /Users/mjr 目录下执行 node example.js

console.log(__filename);
// Prints: /Users/mjr/example.js
console.log(__dirname);
// Prints: /Users/mjr

一些核心的功能模块:

  • http:提供HTTP服务器功能。点击查看http相关信息
  • url:用于 URL 处理与解析点击查看url相关信息
  • fs:与文件系统交互。点击查看fs相关信息
  • querystring:用于解析与格式化 URL 查询字符串。主要使用querystring.parse()与querystring.stringify()解析url及把对象序列化成url。点击查看querystring相关信息
  • child_process:创建子进程。点击查看child_process相关信息
    •         该模块提供了衍生子进程的功能,它与 popen(3) 类似,但不完全相同。 这个功能主要由 child_process.spawn() 函数提供:
  • 默认情况下,在 Node.js 的父进程与衍生的子进程之间会建立  stdinstdout 和  stderr 的管道。 数据能以非阻塞的方式在管道中流通。 注意,有些程序会在内部使用行缓冲 I/O。 虽然这并不影响 Node.js,但这意味着发送到子进程的数据可能无法被立即使用。
    child_process.spawn() 方法会异步地衍生子进程,且不会阻塞 Node.js 事件循环。  child_process.spawnSync() 方法则以同步的方式提供同样的功能,但会阻塞事件循环,直到衍生的子进程退出或终止。
  • util:提供一系列实用小工具。点击查看util相关信息
  • path:处理文件路径。path 模块的默认操作会根据 Node.js 应用程序运行的操作系统的不同而变化。 比如,当运行在 Windows 操作系统上时,path 模块会认为使用的是 Windows 风格的路径。点击查看path相关信息
  • crypto:提供加密和解密功能,基本上是对OpenSSL的包装。包含对 OpenSSL 的哈希、HMAC、加密、解密、签名、以及验证功能的一整套封装。点击查看crypto相关信息

这些核心模块是最优先被加载的。


猜你喜欢

转载自blog.csdn.net/baibaider/article/details/79802788