(2)Node.js之global

2018-11-08  本文已影响0人  Jerry379

global 全局变量

Buffer类 //用于处理二进制数据
__dirname//
__filename
clearImmediate(immediateObject)
clearInterval(intervalObject)
clearTimeout(timeoutObjet)
console //用于打印stdout和stderr
exports //
global  //全局的命名空间对象,浏览器中var声名变量是全局的,在Node中,声名的作用域只在模块内
module
process //进程对象
require() 
setImmediate(callback[,...args]
setInterval(callback,delay[,...args])
setTimeout(callback,delay[,...args])
URL //WHATWG URL 类
URLSearchParams //WHATWG URLSearchParams 类

其中下面这些变量看起来像全局变量,但实际上不是。 它们的作用域只在模块内。

__dirname
__filename
exports
module
require()

Buffer类

用来处理二进制文件

__dirname

当前模块的文件夹名称。等同于__filenamepath.dirname()的值。

console.log(__dirname);
// Prints: /Users/mjr
console.log(path.dirname(__filename));
// Prints: /Users/mjr

__filename

当前模块的文件名称---解析后的绝对路径

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

clearImmediate(immediate)

取消一个由 setImmediate() 创建的 Immediate 对象。

clearInterval(timeout)

取消一个由setInterval()创建的timeout对象

clearTimeout(timeout)

取消一个由setTimeout()创建的Timeout对象

console

提供了一个简单的调试控制台,用于打印 stdout 和 stderr

exports

这是对module.exports的简短引用形式。exports变量是在模块的文件级别作用域内有效,它在模块被执行前被赋予module.exports的值。

也就是

module.exports可以简写为exports

global

全局的命名空间对象。在 Node.js 中则不同,顶层作用域不是全局作用域,var something 的作用域只在模块内。

module

是对当前模块的引用,module.exports 用于指定一个模块所导出的内容,即可以通过require() 访问的内容

process

提供当前Node.js进程的有关信息,以及控制当前Node.js进程,无需使用require()引入

require()

用于引入模块

setImmediate(callback[,...args])

setImmediate 用于延迟调用 cb 函数。cb 将在 I/O 事件回调之后,setTimeout 和 setInterval 回调之前调用。

setInterval(callback,delay[,...args])

callback当定时器到点时要调用的函数
delay调用callback 之前要等待的毫秒数。
...args <any> 当调用 callback 时要传入的可选参数。
预定每隔 delay 毫秒重复执行的 callback。当 delay 大于 2147483647 或小于 1 时,delay 会被设为 1。

setTimeout(callback,delay[,...args])

参数含义同上,
预定在 delay 毫秒之后执行的单次 callback。

URL

url 模块提供了一些实用函数,用于 URL 处理与解析。使用时需要通过require引入

URLSearchParams

URLSearchParamsAPI接口提供对URLquery部分的读写权限。
可以使用以下方式引入

const { URL, URLSearchParams } = require('url');
上一篇 下一篇

猜你喜欢

热点阅读