Node.js系列笔记4-(不定期更新)
- Node.js全局对象
- JavaScript中的特殊对象:全局对象,Global Object
- 它及其所有属性都可以在程序的任何地方访问
- 浏览器JavaScript中,通常window是全局对象,而Node.js的全局对象是global,所有全局变量(除了global本身以外)都是global对象的属性
- ECMAScript定义,全局变量包括
- 在最外层定义的变量
- 全局对象的属性
- 隐式定义的变量(未定义直接赋值的)
- 定义全局变量时,这个变量会成为全局对象的属性,反之亦然
- 在Node.js中不可能在最外层定义变量,因为所有用户代码都是属于当前模块的,而模块本身不在最外层
- 注意最好永远使用var定义变量以避免引入全局变量,全局变量会污染命名空间,提高代码的耦合风险
- __filename
- console.log(__filename);
- 输出当前正在执行的脚本的文件名,输出绝对路径
- 如果在模块中,输出的是模块文件路径
- __dirname
- console.log(__dirname);
- 输出执行脚本所在的目录
- setTimeout(cb, ms)
- 全局函数,是在指定的毫秒数后,执行指定的函数cb,只执行一次
- 注意程序并不会在这条语句处停止,而是会继续进行下去
- clearTimeout(t)
- 用于停止一个之前通过setTimeout()创建的定时器
-
1 var t = setTimeout(printHello, 2000); 2 clearTimeout(t);
- console
- console用于提供控制台标准输出,是由IE的JScript引擎提供的调试工具,后来逐渐成为浏览器的事实标准
- Node.js沿用了这个标准,用于向标准输出流stdout和标准错误流stderr输出字符
- console方法
- process
- process是一个全局变量,即global对象的属性
- 它用于描述当前Node.js进程状态的对象,提供一个与操作系统交流的简单接口
- 事件:exit/beforeExit/uncaughtExcepiton/Signal
- 退出状态吗:
- 属性:stdout/stderr/stdin/argv/execPath/env/exitCode/version/pid/platform
- 方法参考手册:
- 链接:http://www.runoob.com/nodejs/nodejs-global-object.html