快速上手 - 全局对象 ¶
本文导航
作者:KK
发表日期:2018.8.7
要点速读 ¶
全局对象是通过
global.xxx
来访问的,跟浏览器 JS 的window.xxx
一样道理。Node 里面的全局对象也没多少,主要用到的就是
process
、Buffer
。
快速了解 ¶
在浏览器的 JavaScript 中我们访问全局变量可以通过window.变量名
来访问,可以说全局变量就是window
对象的一个属性,而在 Node 里面你将这个window
转换成global
来想就可以了,只是这个 global 拥有的属性跟 window 不一样。
在一个普通的 Node 脚本里执行以下代码看看:
for(let key in global){
console.log(key);
}
输出如下:
DTRACE_NET_SERVER_CONNECTION
DTRACE_NET_STREAM_END
DTRACE_HTTP_SERVER_REQUEST
DTRACE_HTTP_SERVER_RESPONSE
DTRACE_HTTP_CLIENT_REQUEST
DTRACE_HTTP_CLIENT_RESPONSE
COUNTER_NET_SERVER_CONNECTION
COUNTER_NET_SERVER_CONNECTION_CLOSE
COUNTER_HTTP_SERVER_REQUEST
COUNTER_HTTP_SERVER_RESPONSE
COUNTER_HTTP_CLIENT_REQUEST
COUNTER_HTTP_CLIENT_RESPONSE
global
process
Buffer
clearImmediate
clearInterval
clearTimeout
setImmediate
setInterval
setTimeout
全大写那些就是常量,而其它就是对象或全局函数了,一般加入一个新项目后,我会用这个看看这个项目有没有附加什么额外的全局变量上去。
而且当你访问一个未经声明的变量时,就会去global
身上找,这个规则跟 JavaScript 是一样的。
process 对象 ¶
退出进程
这是进程对象,你想要结束进程不再往后面运行的话就调用
process.exit(1)
,当然也可以不传入返回码参数。获取系统环境变量
通过
process.env
可以得到环境变量,比如你想要系统的PATH变量值是吧:console.log(process.env.PATH)
访问命令行参数
我的执行命令是
node t.js --user root
,然后代码console.log(process.argv)
输出如下:[ 'C:\\Program Files\\nodejs\\node.exe', 'D:\\pj\\test\\t.js', '--user', 'root' ]
获取当前进程的工作目录
console.log(process.cwd())
Buffer 对象 ¶
这是个处理数据流的时候才用到的对象,一般的代码里其实不经常出现,封装一些基础性组件时才用到,在这个基础阶段不作介绍,其实我也了解得不深。