来源: https://www.php.cn/nodejs/nodejs-global-object.html

在浏览器的JavaScript中, window是全局工具, 而Node.js中的全局工具是global, 所有全局变量(除了global)都是global工具的属性:

避免利用隐式变量声明来定义全局变量, 全局变量会污染命名空间

jsp子页面获取父页面的js全局变量JavaScript全局对象 JavaScript

1. __filename

__filename 表示当前正在实行的脚本的文件名。
它将输出文件所在位置的绝对路径,且和命令行参数所指定的文件名不一定相同。

如果在模块中,返回的值是模块文件的路径

// console.log(__filename)br$ node main.jsbr/web/root/main.js2. __dirname

__dirname 表示当前实行脚本的目录. 当前实行脚本可能随着模块的调用而发生变革.

3. setTimeout(cb, ms)

在指定的毫秒数后实行回调函数cb, 返回定时器句柄

4. clearTimout(t)

传入定时器句柄, 打消定时任务的实行

5. setInterval(cb, ms)

会不断的实行回调函数cb, 间隔为指定的毫秒数, 返回一个句柄

6. clearInterval(t)

7. console

序号

方法 & 描述

1

console.log([data][, ...])向标准输出流打印字符并以换行符结束。
该方法吸收多少 个参数,如果只有一个参数,则输出这个参数的字符串形式。
如果有多个参数,则 以类似于C 措辞 printf() 命令的格式输出。

2

console.info([data][, ...])P该命令的浸染是返复书息性,这个命令与console.log差别并不大,除了在chrome中只会输出笔墨外,别的的会显示一个蓝色的惊叹号。

3

console.error([data][, ...])输出错误的。
掌握台在涌现缺点时会显示是赤色的叉子。

4

console.warn([data][, ...])输出警告。
掌握台涌现有黄色的惊叹号。

5

console.dir(obj[, options])用来对一个工具进行检讨(inspect),并以易于阅读和打印的格式显示。

6

console.time(label)输出韶光,表示计时开始。

7

console.timeEnd(label)结束韶光,表示计时结束。

8

console.trace(message[, ...])当前实行的代码在堆栈中的调用路径,这个测试函数运行很有帮助,只要给想测试的函数里面加入 console.trace 就行了。

9

console.assert(value[, message][, ...])用于判断某个表达式或变量是否为真,接管两个参数,第一个参数是表达式,第二个参数是字符串。
只有当第一个参数为false,才会输出第二个参数,否则不会有任何结果。

8. Process

常用方法:

序号

方法 & 描述

1

abort()这将导致 node 触发 abort 事宜。
会让 node 退出并天生一个核心文件。

2

chdir(directory)改变当前事情进程的目录,如果操作失落败抛出非常。

3

cwd()返回当提高程的事情目录

4

exit([code])利用指定的 code 结束进程。
如果忽略,将会利用 code 0。

5

getgid()获取进程的群组标识(拜会 getgid(2))。
获取到的时群组的数字 id,而不是名字。
把稳:这个函数仅在 POSIX 平台上可用(例如,非Windows 和 Android)。

6

setgid(id)设置进程的群组标识(拜会 setgid(2))。
可以吸收数字 ID 或者群组名。
如果指定了群组名,会壅塞等待解析为数字 ID 。
把稳:这个函数仅在 POSIX 平台上可用(例如,非Windows 和 Android)。

7

getuid()获取进程的用户标识(拜会 getuid(2))。
这是数字的用户 id,不是用户名。
把稳:这个函数仅在 POSIX 平台上可用(例如,非Windows 和 Android)。

8

setuid(id)设置进程的用户标识(拜会setuid(2))。
吸收数字 ID或字符串名字。
果指定了群组名,会壅塞等待解析为数字 ID 。
把稳:这个函数仅在 POSIX 平台上可用(例如,非Windows 和 Android)。

9

getgroups()返回进程的群组 iD 数组。
POSIX 系统没有担保一定有,但是 node.js 担保有。
把稳:这个函数仅在 POSIX 平台上可用(例如,非Windows 和 Android)。

10

setgroups(groups)设置进程的群组 ID。
这是授权操作,所有你须要有 root 权限,或者有 CAP_SETGID 能力。
把稳:这个函数仅在 POSIX 平台上可用(例如,非Windows 和 Android)。

11

initgroups(user, extra_group)读取 /etc/group ,并初始化群组访问列表,利用成员所在的所有群组。
这是授权操作,所有你须要有 root 权限,或者有 CAP_SETGID 能力。
把稳:这个函数仅在 POSIX 平台上可用(例如,非Windows 和 Android)。

12

kill(pid[, signal])发送旗子暗记给进程. pid 是进程id,并且 signal 是发送的旗子暗记的字符串描述。
旗子暗记名是字符串,比如 'SIGINT' 或 'SIGHUP'。
如果忽略,旗子暗记会是 'SIGTERM'。

13

memoryUsage()返回一个工具,描述了 Node 进程所用的内存状况,单位为字节。

14

nextTick(callback)一旦当前事宜循环结束,调用回到函数。

15

umask([mask])设置或读取进程文件的掩码。
子进程从父进程继续掩码。
如果mask 参数有效,返回旧的掩码。
否则,返回当前掩码。

16

uptime()返回 Node 已经运行的秒数。

17

hrtime()返回当提高程的高分辨韶光,形式为 [seconds, nanoseconds]数组。
它是相对付过去的任意事宜。
该值与日期无关,因此不受时钟漂移的影响。
紧张用场是可以通过精确的韶光间隔,来衡量程序的性能。
你可以将之前的结果通报给当前的 process.hrtime() ,会返回两者间的韶光差,用来基准和丈量韶光间隔。

成员变量:

序号.

属性 & 描述

1

stdout标准输出流。

2

stderr标准缺点流。

3

stdin标准输入流。

4

argvargv 属性返回一个数组,由命令行实行脚本时的各个参数组成。
它的第一个成员总是node,第二个成员是脚本文件名,别的成员是脚本文件的参数。

5

execPath返回实行当前脚本的 Node 二进制文件的绝对路径。

6

execArgv返回一个数组,成员是命令行下实行脚本时,在Node可实行文件与脚本文件之间的命令行参数。

7

env返回一个工具,成员为当前 shell 的环境变量

8

exitCode进程退出时的代码,如果进程有通过 process.exit() 退出,不须要指定退出码。

9

versionNode 的版本,比如v0.10.18。

10

versions一个属性,包含了 node 的版本和依赖.

11

config一个包含用来编译当前 node 实行文件的 javascript 配置选项的工具。
它与运行 ./configure 脚本天生的 "config.gypi" 文件相同。

12

pid当提高程的进程号。

13

title进程名,默认值为"node",可以自定义该值。

14

arch当前 CPU 的架构:'arm'、'ia32' 或者 'x64'。

15

platform运行程序所在的平台系统 'darwin', 'freebsd', 'linux', 'sunos' 或 'win32'

16

mainModulerequire.main 的备选方法。
不同点,如果主模块在运行时改变,require.main可能会连续返回老的模块。
可以认为,这两者引用了同一个模块。